批量把本機的ssh密鑰同步到遠程設備以ssh無密碼登入

  1. 首先生成本機密鑰

本機執行命令: ssh-keygen -t rsa

一路回車

wKioL1QIMDiw3_-VAAJvkgNnyfU400.jpg

在/root/.ssh生成了id_rsa和id_rsa.pub,我們要用這個id_rsa.pub

2.安裝expect

   yum -y install expect

3.用腳本把密碼拷貝過去

#!/bin/bash
###############需要同步ssh的設備和密碼#########
ip=(
    192.168.132.130
    192.168.132.131
)
passwd=123456
##############本機生成ssh公鑰####################
cat /root/.ssh/id_rsa.pub>/root/.ssh/authorized_keys
#############在遠程主機創建/root/.ssh###########
for ip in in ${ip[@]}
do
   expect -c "
        spawn ssh root@$ip \"mkdir /root/.ssh\"
                expect {
                        \"*yes/no*\" { send \"yes\r\";exp_continue }
                        \"*password*\" { send \"$passwd\r\";exp_continue }
                        \"*password*\" { send \"$passwd\r\"; }
                        }
             "
   expect -c "
        spawn scp  /root/.ssh/authorized_keys root@$ip:/root/.ssh/
                expect {
                        \"*yes/no*\" { send \"yes\r\";exp_continue }
                        \"*password*\" { send \"$passwd\r\";exp_continue }
                        \"*password*\" { send \"$passwd\r\"; }
                        }
             "
done

4.執行腳本,然後就可以直接ssh IP 進入IP列表中的主機了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章