假设有三台服务器的ip分别是10.9.1.101、10.9.1.102、10.9.1.103
-
修改hosts文件
分别修改三台服务器的hosts的文件(vi /etc/hosts),
在hosts文件中增加
10.9.1.101 node101
10.9.1.102 node102
10.9.1.103 node103
2.在101机器上生成公钥和私钥
ssh-keygen -t rsa
- 回车之后会提示输入公钥和私钥的存储位置,直接回车默认是在home目录下
- 提示输入密码和确认密码,为了ssh访问过程无需密码直接回车即可
3.将101上生成的id_rsa.pub文件拷贝到102的相同目录下
由于我在101上使用的hadoop用户,生成的文件目录在/home/hadoop目录下,所在102上同样使用hadoop用户操作
将101上的/home/hadoop/id_rsa.put文件拷贝到102的/home/hadoop目录下
4.在102上创建.ssh目录
- 检查102上/home/hadoop目录是否存在.ssh文件夹(ls不显示,直接cd .ssh),如果不存在则创建.ssh目录并设置权限为700(mkdir -m=700 .ssh)
- 将id_rsa.pub文件复制到.ssh目录下的authorized_keys的文件中(cp id_rsa.pub .ssh/authorized_keys)
- 设置authorized_keys文件的权限为664(chmod 644 .ssh/authorized_keys)
- 设置 .ssh 文件夹的权限为700(chmod 700 .ssh)
5. 重启 SSH服务
执行命令 systemctl service sshd restart
5.ssh访问
ssh node102
(我配置的是103)
6.多台机器部署
上述过程只配置了101到103免密码登录,如果还需要配置102到103免密码登录时,只需要在102机器上重复上述步骤2,然后将生成的id_rsa.pub文件中的内容追加到103的authorized_keys文件末尾即可。
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决