ssh远程安全连接分发密钥

 一、无需输入密码一条命令连接到指定服务器,更安全的访问后端服务器,防止恶意连接

  1.管理端   创建密钥对信息

    • ssh-keygen -t dsa  
    • ll /root/.ssh      (查看是否创建成功)

  2.管理端   分发公钥信息

    • ssh-copy-id -i /root/.ssh/id_dsa.pub [email protected](目标服务器地址)
    • ssh-copy-id 命令原理
      01. ssh和远程主机连接
      02. 将公钥文件传输到远程主机, /root/.ssh/
      将公钥文件内容保存到/root/.ssh/authorized_keys(600)(只root用户可看)

  二、脚本分发多台主机公钥(不用ansible 之前脚本编写)

  1.忽略输入确认信息:

    • ssh -o StrictHostKeyChecking=no

  2.忽略输入密码信息:

    • yum install -y sshpass
    • sshpass -pxxxxx(root密码) ssh xxx.xxx.xxx.xxx(服务器IP地址信息)
    • 脚本编写:

      • #!/bin/bash
        . /etc/init.d/functions

        for ip in {7,31,41}
        do
        echo "====================172.16.1.$ip start fenfa key===================="
        sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no 172.16.1.$ip &>/dev/null
        if [ $? -eq 0 ]
        then
        echo "公钥分发成功" /bin/true
        echo ""
        else
        echo "公钥分发失败" /bin/false
        echo ""
        fi
        done

猜你喜欢

转载自www.cnblogs.com/wobenwuxin/p/11272553.html