免密码登录linux主机

免密码登录的原理是在需要登录的远程主机(下文使用B代指)信任列表里,存放当前机器(下文使用A代指)的公钥。

  1. 在A机器生成公钥和私钥,执行命令 ssh-keygen 系统会提示设定保存目录和密码,我们一般都保持默认即可。根据提示生成公钥和私钥以后,会在~/.ssh目录下生成相关文件,id_rsa和id_rsa.pub。这里的~指的是用户的家目录。
  2. 将A机器的id_rsa.pub复制到B机器上,执行命令 scp ~/.ssh/id_rsa.pub [email protected]:~/ 这行命令的作用是,将A机器上当前用户的公钥复制到B机器root用户的家目录下。命令中的B机器的用户名及ip需要根据你的实际情况来修改。
  3. A机器上的操作完毕,下面我们登录到B机器上进行一些设置,执行命令 ssh [email protected] 来登录B机器,这时候还是需要输入密码的。
  4. 将刚刚复制过来的A机器的公钥添加到B机器的信任列表,执行命令 cat id_rsa.pub >> ~/.ssh/authorized_keys
  5. 这时候从A机器复制来的公钥已经没用了,我们来删除它,执行命令 rm id_rsa.pub
  6. 执行logout或者exit或者quit退出远程机器,这时候我们又回到了A机器。
  7. 测试是否可以免密码登录B机器,执行命令 ssh [email protected] 这时候我们已经顺利的免密码登录到了B机器。

One comment:

评论已关闭。