登入伺服器步驟(從一台linux登入到另外一台linux)
登入伺服器需要有兩個步驟,一個輸入yes、一個輸入密碼
試想如果有上千台伺服器?每台都要輸入yes、輸入密碼
ssh免輸入yes,修改/etc/ssh/ssh_config
StrictHostKeyChecking no
ssh免輸入密碼的實作1
yum install -y epel-release
yum install -y sshpass
sshpass -p "jackin" ssh 192.168.237.131
ssh免輸入密碼的實作2,通過密鑰
生成公鑰(鎖)、私鑰(鑰匙),公鑰放被登入的伺服器上,私鑰需要自己保留
ssh-keygen -t rsa
手動把公鑰上傳到被登入的伺服器上,私鑰就能進行無密碼登入
借助ssh-copy-id來實作公鑰上傳,需要輸入伺服器的密碼
ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.237.131
sshpass -p 'jackin' ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.237.131 #sshpass自動輸入密碼
上千台伺服器批量下發公鑰,配置檔案/root/.host
jackin1 192.168.237.128 jackin
jackin2 192.168.237.131 jackinpwd
Shell腳本實作批量下發公鑰
OLDIFS=$IFS
IFS=$'\n'
for line in $(cat /root/.host);do
myip=$(echo $line |awk '{print $2}')
mypwd=$(echo $line | awk '{print $3}')
echo "$myip $mypwd"
sshpass -p $mypwd ssh-copy-id -i /root/.ssh/id_rsa.pub $myip
done