集群内免密登录可以更方便的对集群中的机器进行管理和操作,我们今天就来操作一下如何生成密钥,和不同的密钥对应的不同的登录方式。
1.生成登录密钥
进入root下的.ssh目录执行命令生成公钥和私钥
ssh-keygen -t rsa
目录下生成了两个文件id_rsa和id_rsa.pub,分别是公钥和私钥,我们需要调整下两个密钥的权限
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
公钥可以用来发布到其他节点的authorized_keys文件内,然后本机就可以通过免密等其他节点了。
2.公钥的使用
注意使用2.1或者2.2其中一种方式分发到目标节点的authorized_keys文件内即可。
2.1.使用手工复制公钥到目标节点
我们需要将公钥文件导入authorized_keys文件并分发到要免密登录的机器
cat id_rsa.pub >> authorized_keys
然后讲上述工要认证文件传输到要远程的机器
scp authorized_keys root@192.168.1.72:/root/.ssh/
输入密码传输完成以后,就可以直接使用ssh 192.168.1.72免密登录这台机器了。
2.2.使用ssh命令复制公钥到目标节点
也可以直接通过以下命令来复制到需要做免密节点的authorized_keys文件内。但是本机也是需要创建authorized_keys,方便密钥循环分发
cat id_rsa.pub >> authorized_keys
ssh-copy-id root@192.168.1.72
注意是公钥分发到哪台机器,本机就可以直接免密登录到哪台机器。
如果是所有机器都要免密登录,那么循环将所登录机器的公钥追加到要免密登录的authorized_keys文件,然后最后一台机器的公钥追加到第一台机器即可。
3.私钥的使用
使用私钥登录的话,我们还需要调整sshd_config的配置
vim /etc/ssh/sshd_config
PermitRootLogin yes #允许root账户登录 PubkeyAuthentication yes #允许使用密钥登录 AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no #关闭密码登录
保存退出以后需要重启sshd服务
systemctl restart sshd
然后可以把id_rsa发给需要登录的机器,可以使用如下命令进行免密登录
ssh -i ./id_rsa root@192.168.1.72
内容版权声明:除非注明,否则皆为本站原创文章。
评论列表