要在三台Linux主机之间配置SSH互信,可以按照以下步骤进行操作:
- 确保每台主机上都已安装了OpenSSH服务器和客户端。可以使用以下命令检查是否已安装:
ssh -V
如果未安装,请根据操作系统的不同使用适当的包管理器进行安装。例如,在Ubuntu上可以使用以下命令安装:
sudo apt-get install openssh-server openssh-client
- 在每台主机上生成SSH密钥对。使用以下命令在每台主机上生成密钥对:
ssh-keygen
默认情况下,密钥对将生成在~/.ssh/
目录下,并包括公钥(id_rsa.pub
)和私钥(id_rsa
)。
- 将每台主机的公钥添加到其他两台主机的已授权密钥列表中。可以使用
ssh-copy-id
命令将公钥复制到其他主机上。例如,假设我们要将HostA
的公钥复制到HostB
和HostC
上,可以执行以下命令:
ssh-copy-id user@HostB
ssh-copy-id user@HostC
上述命令将提示输入目标主机的用户密码。输入密码后,HostA
的公钥将自动添加到HostB
和HostC
上的授权密钥列表中。
- 现在,应该可以在这三台主机之间通过SSH进行无密码登录了。例如,从
HostA
登录到HostB
,只需执行以下命令:
ssh user@HostB
此时,将无需输入密码即可登录到HostB
。
重复以上步骤,将每台主机的公钥复制到其他主机上,以便在所有主机之间实现SSH互信。确保在复制公钥时使用正确的用户名和主机名。
!/bin/bash
配置SSH互信的用户名
USERNAME="your_username"
配置SSH互信的服务器列表
SERVERS=("server1" "server2" "server3")
生成SSH密钥对
generate_ssh_key() {
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
}
复制公钥到其他服务器
copy_public_key() {
for server in "${SERVERS[@]}"; do
ssh-copy-id -i ~/.ssh/id_rsa.pub "$USERNAME@$server"
done
}
主函数
main() {
generate_ssh_key
copy_public_key
}
main
标签:公钥,主机,互信,SSH,copy,id,ssh From: https://www.cnblogs.com/ningfuyou/p/17460793.html