SSH实现基于秘钥连接的部署步骤
1管理端创建秘钥对信息
ssh-keygen -t dsa
2管理端进行分发公钥
ssh-copy-id -i /root/.ssh/id_dsa.pub user@ip
3进行连接测试
ssh ip
不用交互输入密码信息,进行远程连接分发公钥:
yum install -y sshpass
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41 -p 52113 "-o StrictHostKeyChecking=no"
批量分发公钥示例脚本:
#!/bin/bash
for ip in {1..100}
do
echo "==================== host 172.16.1.$ip pub-key start fenfa ==================== "
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip "-o StrictHostKeyChecking=no" &>/dev/null
echo -e "host 172.16.1.$ip fenfa success."
echo "==================== host 172.16.1.$ip fenfa end ==================== "
echo ""
done
SSH服务配置文件部分参数解释
/etc/ssh/sshd_config
PermitEmptyPasswords no --- 是否允许远程用户使用空密码登录,默认不允许
PermitRootLogin yes --- 是否禁止root用户远程连接主机 建议改为no
GSSAPIAuthentication no --- 是否开启GSSAPI认证功能 不用的时候关闭
UseDNS no --- 是否开启反向DNS解析功能 建议进行关闭