系统性能优化

24.SSH免密登录-分发公钥脚本

2022-04-13  本文已影响0人  鸡蛋挂面

01.管理端创建秘钥对信息
02.管理端需要将公钥进行分发

注意:1.管理端的“id_rsa.pub”文件与被管理端的“authorized_keys”文件内容一致
2.可以不使用“ssh-copy-id”命令分发密钥,使用scp、ftp等命令也可以,使用“ssh-copy-id”命令是为了安全传输

03.进行远程连接测试

# 不写主机名时(root@xxx.xxx.xxx.xxx)时,默认使用的是当前客户端登录的用户名
ssh 192.168.10.77 -p 2222

04.SSH服务配置文件

    /etc/ssh/sshd_config
    Port 22                   --- 修改服务端口信息
    ListenAddress 0.0.0.0     --- 监听地址 指定一块网卡能够接受远程访问请求  *****
                                  PS: 指定监听地址只能是本地网卡上有的地址
    PermitEmptyPasswords no   --- 是否允许远程用户使用空密码登录,默认不允许
    PermitRootLogin yes       --- 是否禁止root用户远程连接主机 建议改为no
    GSSAPIAuthentication no   --- 是否开启GSSAPI认证功能 不用的时候关闭 
    UseDNS no                 --- 是否开启反向DNS解析功能 建议进行关闭
# 如果需要密钥登录需要修改以下配置,并禁止ROOT用户登录
     PubkeyAuthentication yes  --- 开启密钥验证
     AuthorizedKeysFile   .ssh/authorized_keys --- 默认公钥存放的位置
    

05.重启sshd服务

批量分发公钥脚本

cat ssh-distribution-pubkeys.sh
#!/bin/bash
# Author:
# Public key distribution script
# time: 2022-04-13
host_pre=192.168.10.
port=2222
password=123456
. /etc/init.d/functions
if [ ! -f /root/.ssh/id_rsa.pub ] ;then
ssh-keygen -f /root/.ssh/id_rsa -N ''|echo ''
fi
for ip in {66..188}
do
  echo "==================== host $host_pre$ip start distributing pub-keys    ==================== "
  sshpass -p$password ssh-copy-id -i /root/.ssh/id_rsa.pub root@$host_pre$ip -p $port "-o StrictHostKeyChecking=no" &>/dev/null
  if [ $? -eq 0 ] ; then
    action "host $host_pre$ip distribution is" /bin/true
    echo ""
  else
    action "host $host_pre$ip distribution is" /bin/false
    echo "==================== host $host_pre$ip Finished distributing pub-keys ==================== "
    echo ""
  fi
done

上一篇下一篇

猜你喜欢

热点阅读