由於zabbix對功能,業務監控比較方便,就用zabbix做監控,zabbix唯一的缺點就是需要在每台伺服器上安裝客戶端,即便是幾十台伺服器,一台一台做著實繁瑣,何況更多,時間緊急,無密碼登陸通道還沒打通,就準備先打通,再寫指令碼來安裝agentd,就選擇了使用except。關於expect語法與使用方法,可以私下交流。
具體指令碼如下。
本指令碼可以迴圈伺服器ip,完全做到自動化,缺點:伺服器密碼保持一致。
#!/bin/bashcat >login.exp <> ~/.ssh/authorized_keys ;
expect
}expect "admin@\$ip's password:"
set timeout 3
send "\$password\r"
set timeout 10
send "exit\r"
expect eof
set timeout 3
spawn scp -p60022 ~/.ssh/authorized_keys admin@\$ip:~/.ssh/authorized_keys;
expect
}expect "admin@\$ip's password:"
set timeout 3
send "\$password\r"
set timeout 10
send "exit\r"
expect eof
eoffor i in `cat iplist`
do expect login.exp $i
done
說明,iplist 裡面寫入伺服器ip位址即可
[root@zabbix admin]# cat iplist
172.16.8.34
172.16.8.35
另乙個工具 sshpass 也可以實現無密碼訪問。
解壓編譯安裝即可
使用:#從命令列方式傳遞密碼
sshpass -p password ssh root@ip -p後面直接指定密碼
#從文字傳遞密碼
sshpass -f file ssh root@ip 把金鑰寫到file裡即可。
#從環境變數傳遞
export sshpass="user_password"
sshpass -e ssh [email protected]
無密碼登入伺服器
本地生成公鑰和私鑰 cd ssh ssh keygen t rsa 一直按回車就行,按照預設的選項生成私鑰儲存在.ssh id rsa檔案中,生成的公鑰儲存在.ssh id rsa.pub中 cp id rsa.pub authorized keys 把本目錄下的公鑰拷貝到遠端71伺服器 scp p...
SSH使用私鑰無密碼登入遠端伺服器
ssh無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以debian為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh keygen t rsa...
mac 無密碼登入遠端伺服器
記錄貼 使用expect 指令碼 快速通過跳板機連線遠端伺服器 新建指令碼 login.exp 示例如下 usr bin expect 定義陣列 連線列舉 set connection enum 1 179 set connection enum 2 gpu線上機器 set connection e...