【Linux】服務器之間的免密登錄腳本


在實際運維的過程中,經常需要用到免密登錄,下面這個腳本實現服務器之間的免密登錄,如下

比如,要實現A服務器與B、C、D服務器的免密登錄,只需要將B、C、D服務器的IP地址寫在serverlist.txt中,然后在A服務器上執行下面這一段命令即可。

#!/bin/bash
#免密登錄腳本
#作者:海藍之心賽
#使用說明
#在和本腳本同級目錄下,創建一個名為serverlist.txt的文件,將需要做免密登錄的服務器ip地址列表寫在serverlist.txt中,每個IP地址占用一行。
#特殊說明,serverlist.txt請在linux服務器中創建,在Windows上創建容易出現編碼問題,導致免密登錄失敗。
current=`pwd`
serverlist=`cat $current/serverlist.txt`
mkdir -p /root/.ssh
ssh-keygen -t rsa -P ''
for ip in $serverlist
do
    echo "#$ip no password."
    ssh root@$ip 'mkdir -p /root/.ssh 2>/dev/null'
    cat /root/.ssh/id_rsa.pub | ssh root@$ip 'cat >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys'
done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM