单机设置免密登录
在 CentOS 7.6 上批量设置多台主机免密登录,可以通过以下步骤实现:
- 在本地机器上生成 SSH 密钥。
使用 ssh-keygen 命令生成 SSH 密钥。如果你已经有了密钥,请跳过此步骤。ssh-keygen -t rsa
- 将公钥拷贝到远程主机。
将生成的公钥复制到远程主机。假设你想要免密登录的远程主机 IP 地址为 192.168.1.1,用户名为 user,则可以使用以下命令将公钥复制到远程主机:ssh-copy-id user@192.168.1.1
该命令会自动将公钥添加到远程主机的
~/.ssh/authorized_keys
文件中。
批量设置免密登录
在本地机器上创建一个文本文件,列出所有需要设置免密登录的远程主机 IP 地址和用户名,例如:
192.168.20.101 hadoop01
192.168.20.102 hadoop02
192.168.20.103 hadoop03
然后,使用以下 shell 脚本批量设置免密登录:
#!/bin/bash
while read line; do
host=$(echo $line | awk '{print $1}')
user=$(echo $line | awk '{print $2}')
ssh-copy-id $user@$host
done < hosts.txt
这个脚本会读取 hosts.txt 文件中的每一行,将远程主机 IP 地址和用户名提取出来,并使用 ssh-copy-id
命令将公钥复制到远程主机中。
确保脚本具有可执行权限,并运行脚本即可批量设置多台主机免密登录。
文章评论