集群中配置多台机器之间 SSH 免密码登录
Posted miracle-luna
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集群中配置多台机器之间 SSH 免密码登录相关的知识,希望对你有一定的参考价值。
集群中配置多台机器之间 SSH 免密码登录
问题描述
由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署。
但是,这就涉及到机器间的 SSH 免密码互通问题。
当集群机器比较多的时候,如何能快速简洁地配置机器之间的免密码登录呢?
完美方案
1、分别查看集群的机器上,是否安装了 SSH,并且服务正常运行
ps -ef | grep ssh
2、如果步骤 1 检查后,确认没有安装 SSH,可以通过如下命令安装 SSH
sudo apt-get install ssh
找到隐藏目录.ssh(ll -a 可以查看隐藏文件和隐藏目录)。如果没有这个目录,可以使用 mkdir .ssh 命令新建。
3、进入.ssh目录下面,在每台机器上执行如下命令(一路回车,产生密钥):
ssh-keygen -t rsa
4、完成第3步后会产生两个文件:
id-rsa (私钥)
id-rsa.pub (公钥)
5、在第 1 台机器的.ssh目录下执行如下命令(此后.ssh目录下会出现authorized_keys文件)
cat id-rsa.pub >> authorized_keys
6、将第1台机器的.ssh目录下面的 authorized_keys 文件拷贝到第 2 台计算机的.ssh目录下
scp authorized_keys root@node2:/root/.ssh/
7、登录第2台机器,在第2台机器的.ssh目录下,执行如下命令(将第2台机器的公钥追加到 authorized_keys 中)
cat id-rsa.pub >> authorized_keys.
8、依次类推,直到集群中的最后一台机器的公钥添加到 authorized_keys 中 。
9、在集群的最后一台机器执行完追加后,生成的 authorized_keys 文件就包含集群中所有机器的公钥。
此时,将最后一台机器上的 authorized_keys 文件,分别 scp 复制到集群中的每一台机器的.ssh目录下,覆盖原来的authorized_keys 文件。
10、完成第 9 步后,集群中的机器之间就实现了 免密码ssh登录。
以上是关于集群中配置多台机器之间 SSH 免密码登录的主要内容,如果未能解决你的问题,请参考以下文章