集群中配置多台机器之间 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登录。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)