1. ssh免密登陆原理
按照上图设置免密登陆后,A服务器可以免密登陆B服务器;但是B服务器登陆A服务器仍然要密码。
2. ssh免密登陆实操
如果当前服务器使用ssh
命令连接过其他服务器,那么在该用户家目录下就会生成一个 .ssh
文件夹,里面存有一个 known_hosts
文件,文件中保存的有该用户曾经使用ssh
命令远程连接过的服务器。
现在配置模板机hadoop102免密登录克隆机hadoop103、hadoop104:
-
进入
.ssh
文件夹,输入命令ssh-keygen -t rsa
创建非对称RSA密钥对。
命令执行后,会在用户家目录下的 .ssh文件夹中生成一个公钥文件id_rsa.pub
、一个私钥文件id_rsa
-
还是在
.ssh
文件夹中,输入以下命令,将公钥复制给hadoop103、hadoop104:[hao@Hadoop102 .ssh]$ ssh-copy-id hadoop103 [hao@Hadoop102 .ssh]$ ssh-copy-id hadoop104
-
另外,还需要对自己设置免密登录,否则 hadoop102 使用 ssh 连接 hadoop102 本身时也需要密码:
ssh-copy-id hadoop102
-
想要其他用户也可以免密登入hadoop103、hadoop104。则切换为该用户后再进行以上操作即可。
3. 关于免密登入所涉及的用户
在第二节中全程是以hao
用户进行免密登入设置的,那么当前主机也只有使用hao
用户才能进行免密操作,即使是root
也不能进行免密操作。
所以,为了后续的方便,我们对root
用户也进行免密登入。只需要切换至root
用户,再进行以上操作即可。