天天看點

【Linux】伺服器之間的免密登入腳本

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      

原創作者:鄭立賽

郵箱:[email protected]

歡迎關注我們的公衆号擷取最新文章:運維自動化開發

【Linux】伺服器之間的免密登入腳本
【Linux】伺服器之間的免密登入腳本