SSH免密配置说明
一、配置过程
PC1电脑远程免密登陆PC2电脑
1.PC1电脑生成id_rsa私钥和id_rsa.pub公钥
ssh-keygen -N ’ ’ -f /kylin/.ssh/id_rsa
2.将PC1公钥放到PC2电脑上,然后PC1的公钥id_rsa.pub的内容 写进 PC2电脑的authorized_keys授权钥匙里
ssh-copy-id PC2IP
等于$cat ./id_rsa_pub >> PC2IP:/kylin/.ssh./authorized_keys
或scp /home/kylin/.ssh/id_rsa.pub PC2IP:/kylin/.ssh/authorized_keys
3.免密登陆测试
ssh kylin@PC2IP
###实现免密登陆
二、.ssh下的文件说明(authorized_keys,id_rsa,id_rsa.pub,known_hsots)
1.authorized_keys:
PC2记录访客电脑(PC1)的公钥的文件
将PC1公钥考到PC2机器的用户目录下,并将其内容复制到~/.ssh/authorized_keys中,可通过ssh-copy-id kylin@PC2IP命令实现。
2.id_rsa、id_rsa.pub
PC1的私钥和公钥
通过ssh-keygen -N ’ ’ -f /kylin/.ssh/id_rsa命令生成的PC1私钥和公钥。
3.known_hsots
ssh会把你(PC1)访问过计算机(PC2)的公钥(public key)都记录在这个文件中
下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。我在上面列出的情况,就是这种情况。
三、免密登录配置后,依然提示需要输入密码的解决方法
情况1.
原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告
解决:需要手动删除修改known_hsots里面的内容
情况2.
原因:.ssh和authorized_keys权限不对
解决:
chmod g-w /home/kylin
chmod 700 /home/kylin/.ssh
chmod 600 /home/kylin/.ssh/authorized_keys
情况3.
原因:提示sign_and_send_pubkey: signing failed: agent refused operation
解决:eval “$(ssh-agent -s)”
情况4.
原因:提示提示输入的是秘钥密码
解决:ssh-keygen创建秘钥时,直接回车不要输入任何密码
版权归原作者 小小盗梦家 所有, 如有侵权,请联系我们删除。