用expect實現SCP/SSH自動輸入密碼登錄


在命令行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]  

  


免責聲明!

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



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