CentOS的免密登录
|Word Count:215|Reading Time:1mins|Post Views:
实现CentOS的免密登录还是挺简单的。
- 密钥的产生
在用户家目录下的.ssh目录下产生id_rsa和id_rsa.pub两个密钥文件。其中,.pub为公钥。
- 公钥的上传
1
| ssh-copy-id -i ~/.ssh/id_rsa.pub root@target_IP
|
使用ssh-copy-id来实现自动的上传、修改配置。
- 增加主机配置文件
1 2 3 4 5 6 7 8 9 10 11 12
| vim ~/.ssh/config ———————————————————— Host target0 //主机名称 Hostname 192.168.174.148 //主机IP或解析记录 Port 22 //SSH端口号 User root //SSH用户名
Host target1 Hostname 192.168.174.149 Port 22 User root ————————————————————
|
- 测试
1 2 3
| [root@ansible_server ~]# ssh target0 Last login: Fri Dec 20 14:59:11 2019 from 192.168.174.147 [root@ansible_target0 ~]#
|
- 批量执行 在面临批量主机执行免密登录,则需要sshpass来执行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| vim sshpassvlmachine.sh ~~~~~~~
for host in $(cat remote-hosts) do sshpass -p 'password' ssh-copy-id root@${host} done ~~~~~~~
vim remote-hosts ~~~~~~~ 192.168.174.148 192.168.174.149 ~~~~~~~ chmod +x sshpassvlmachine.sh sh sshpassvlmachine.sh
|