生成公私钥
生成当前用户的公私钥
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): (回车)
Enter passphrase (empty for no passphrase):(回车)
Enter same passphrase again: (回车)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c5:7e:44:73:4c:1a:db:67:a8:60:f6:de:bc:58:4a:2c root@bogon
The key's randomart image is:
tips
- Enter file in which to save the key (/root/.ssh/id_rsa):定义私钥的路径默认在括号下
- Enter passphrase (empty for no passphrase):定义私钥的密码,可以不设置密码
- Enter same passphrase again:确认密码
结果
在/root/.ssh/下生成了公钥id_rsa.pub和私钥id_rsa
安装公钥
复制公钥id_rsa.pub到/root/.ssh/authorized_keys
tips
使用ssh-keygen -t rsa方式生成相关密匙信息,/root/.ssh/这个目录会在生成公私钥的同时创建,如果使用其他工具创建公私钥并/root/.ssh/目录可能不存在,若不存在则自行创建
修改ssh配置文件
vim /etc/ssh/sshd_config
# 开启密钥登入的认证方式
RSAAuthentication yes
# 开启密钥登入的认证方式
PubkeyAuthentication yes
# 禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no
# 允许root登录选项 yes为允许
PermitRootLogin yes
# 允许密码登录选项 yes为不禁用
PasswordAuthentication yes
重启sshd服务
service sshd restart
至此ssh配置公钥登录完成,我们可以将私钥发送给需要使用公钥登录的客户端完成登录
遇到的问题
- 报错Authentication refused: bad ownership or modes
sshd为了安全,对宿主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。 用户目录权限为 755 或者 700,就是不能是77x。 .ssh目录权限一般为755或者700。 rsa_id.pub 及authorized_keys权限一般为644 rsa_id权限必须为600
|