在命令行ssh遠程登錄服務器和scp遠程傳輸文件都需要交互式輸入密碼,無法像mysql登錄數據庫 mysql -uroot -p123456一樣直接完成。
其實可以用腳本依賴expect來達到這一目的。
首先安裝expect:
[root@yqtrack-jumphost src]# yum -y install expect
SSH登錄腳本:
#!/usr/bin/expect set timeout 30 spawn ssh root@192.168.1.93 expect "password:" send "123456@\$abcdef\r" interact
SCP傳送文件腳本:
#!/usr/bin/expect set timeout 30 spawn scp /usr/local/src/zbx_redis_stats.py root@192.168.1.93:/usr/local/src/ expect "password:" send "123456@\$abcdef\r" interact
注意:密碼有特殊字符如“$”需要轉義;
密碼以“\r”結尾。
[THE END]