需求:当须要管理多台服务器的时候,来回切换主机的时候输入密码是件很麻烦的事,这时候即可以利用ssh-keygen免密码登陆。centos
简单原理机过程:若A须要免密码登陆B,则使用ssh-keygen在A上生成相应密钥对,再使用ssh-copy-id将生成的公钥发送到远程主机A上。bash
具体操做服务器
A上执行:ssh
[root@chen ~]# ssh-keygen #生成相应密钥对,若初次使用,则会出现几回停顿,直接敲回车保持默认就好了 [root@chen ~]# ssh-copy-id root@119.29.197.99 #执行此命令事后,输入远程主机B的root密码,ssh-copy-id工具便可将本机的公钥发送过去,被配置 好相应权限(这些都不用管,保持默认就好) [root@chen ~]# ssh root@119.29.197.99 Last login: Fri Nov 4 10:39:53 2016 from 117.174.247.158 [root@VM_116_108_centos ~]# #配置完成后,直接ssh远程主机B便可完成免密码登陆
提示:若以前有个密钥登陆的配置,再次配置时,会出现如下错误:
ide
Now try logging into the machine, with "ssh 'root@192.168.5.129'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
错误翻译:工具
如今尝试登陆到机器,用“ssh'root@192.168.5.129'”,并检入:翻译
.ssh / authorized_keysit
以确保咱们没有添加您没有指望的额外的密钥。ast
错误缘由:class
以前有过相应配置,再次配置时,当执行ssh-copy-id root@192.168.5.129,而且输入对应root密码后,其实就已经配置成功了,这里只是提示咱们,尝试ssh登陆如下远程主机,确保没有增长额外的密钥(因为以前有过相似操做,主机检测到相应文件中还有相似的密钥)。因此,此时咱们只需尝试ssh登陆远程主机就好了。
[root@chen ~]# ssh root@119.29.197.99 Last login: Fri Nov 4 10:39:53 2016 from 117.174.247.158
能免密钥登陆,说明配置没问题。