SSH双向免密码登录细节
2014-06-17 23:59
99 查看
在安装好SSH的机子上,一般配置SSH单向(例如只从A机免密码登录到B机)免密码登录步骤如下:
在A机上:
在B机子上:
上述是设置A机免密码登录B机,如果需要进一步配置B机免密码登录A机,则在B机~/.ssh目录下ssh-keygen -t rsa生成自己的公私钥对之后(因为之前已经将A机的公钥文件rsa_id.pub发送到了B机的~/.ssh目录下,此时会提示覆盖该文件,这个可以直接覆盖,因为A机公钥已存在于authorized_keys文件中),在发送给A机之前,最好生成一份B机公钥副本(cp rsa_id.pub rsa_id.pub.B),以免覆盖了A机下面已经存在的A机自己的公钥。A机在得到B机的公钥后,将B机公钥追加到authorized_keys文件中,B机即可免密码登录A机(第一次登录也是需要密码)。最后清理A机下B机的公钥文件,并清理B机上B机自己的公钥副本,不然会影响登录,时间一长也容易搞混。
自己在实践过程中,正是因为直接将B机的公钥发送给A机从而覆盖了A机自己的公钥文件,导致A-B单向登录时还可以,一配置双向登录后,A-B单向登录也不行了(A机公钥已被替换)。(如果只是A/B两个自己,可以用scp命令直接将公钥复制到远程机子的authorized_keys文件中,但多机情况下该命令会将之前的内容直接覆盖,要是scp有文件追加功能就好了。)
出现这个情况的原因是自己实现对SSH登录原理不甚清楚,从而走了不少弯路。看来果真知其所以然,才能知其各种然。
同样附上自己参考的几篇比较有用的博文:SSH原理、Secure Shell(Wikipedia)、SSH原理与运用(一):远程登录(主要参看评论)、ssh配置authorized_keys后仍然需要输入密码的问题、ssh 无密码验证 及 ssh localhost 仍然需要密码的解决方案、SSH双向免密码登陆:::linux配置双机SSH信任
如果文章对你有用,请在收藏之余“顶/赞”一下以示鼓励吧 (/ω\)
在A机上:
cd ~/.ssh ssh-keygen -t rsa # 在~/.ssh目录下生成公私钥对 cat id_rsa.pub >> authorized_keys # 将公钥追加到A机的authorized_keys文件中,则A机可以免密码登录本机 scp ./rsa_id.pub destination.host:~/.ssh # 将公钥发送到B机子~/.ssh目录下
在B机子上:
cd ~/.ssh cat id_rsa.pub >> authorized_keys # 在~/.ssh目录下将公钥追加到authorized_keys文件中,至此,A机可以免密码登录B机(第一次登录时,需要输入B机子的登录密码) chmod 600 authorized_keys # 如果第二次登录时仍旧需要输入密码,请确认authorized_keys文件的权限
上述是设置A机免密码登录B机,如果需要进一步配置B机免密码登录A机,则在B机~/.ssh目录下ssh-keygen -t rsa生成自己的公私钥对之后(因为之前已经将A机的公钥文件rsa_id.pub发送到了B机的~/.ssh目录下,此时会提示覆盖该文件,这个可以直接覆盖,因为A机公钥已存在于authorized_keys文件中),在发送给A机之前,最好生成一份B机公钥副本(cp rsa_id.pub rsa_id.pub.B),以免覆盖了A机下面已经存在的A机自己的公钥。A机在得到B机的公钥后,将B机公钥追加到authorized_keys文件中,B机即可免密码登录A机(第一次登录也是需要密码)。最后清理A机下B机的公钥文件,并清理B机上B机自己的公钥副本,不然会影响登录,时间一长也容易搞混。
自己在实践过程中,正是因为直接将B机的公钥发送给A机从而覆盖了A机自己的公钥文件,导致A-B单向登录时还可以,一配置双向登录后,A-B单向登录也不行了(A机公钥已被替换)。(如果只是A/B两个自己,可以用scp命令直接将公钥复制到远程机子的authorized_keys文件中,但多机情况下该命令会将之前的内容直接覆盖,要是scp有文件追加功能就好了。)
出现这个情况的原因是自己实现对SSH登录原理不甚清楚,从而走了不少弯路。看来果真知其所以然,才能知其各种然。
同样附上自己参考的几篇比较有用的博文:SSH原理、Secure Shell(Wikipedia)、SSH原理与运用(一):远程登录(主要参看评论)、ssh配置authorized_keys后仍然需要输入密码的问题、ssh 无密码验证 及 ssh localhost 仍然需要密码的解决方案、SSH双向免密码登陆:::linux配置双机SSH信任
如果文章对你有用,请在收藏之余“顶/赞”一下以示鼓励吧 (/ω\)
相关文章推荐
- SSH免密码登录
- ssh记住远程登录密码
- [Hadoop] - SSH免密码登录
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录【已成功实例】
- SSH认证免密码登录
- 使用expect实现ssh不输入密码登录远程服务器
- Hadoop学习笔记-003-CentOS_6.5_64_设置ssh免密码登录
- 安装及配置ssh免密码登录
- Ubuntu配置ssh免密码登录
- ssh免输入密码登录
- 批量实现多台服务器之间ssh无密码登录的相互信任关系
- SSH免密码登录
- CentOS7关闭ssh密码登录
- SSH无需密码密钥登录
- SSH无密码登录
- ssh 无密码登录
- 关闭ssh密码登录
- Linux多台服务器间SSH免密码登录配置