场景说明:
实现从192.168.0.1主机以用户/密码(ssh_user/ssh_pass)访问192.168.0.2~192.168.0.101, 共计100台linux主机ssh免密登录。
操作过程:
1、生成密钥
以ssh_user用户登录192.168.0.1,执行以下命令生成密钥。
?ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
2、编辑程序sshpass.sh,程序内容如下:
#!/usr/bin/sh
hosts=$1
for host in $(cat "${hosts}")
do
sshpass -p 'ssh_pass' ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_dsa.pub ssh_user@$host > /dev/null 2>&1 && echo
"$host succeed." || echo "$host failed."
done
exit;
3、编辑主机配置文件hosts.txt,内容如下:
192.168.0.2
192.168.0.3
192.168.0.4
...(此处省略)
192.168.0.101
4、在192.168.0.1 ssh_user下执行:
sh ssh_pass.sh hosts.txt
验证命令:
ssh ssh_user@192.168.0.2
|