linux藉助expect完成自動登入

來源:互聯網
上載者:User

在工作中,我需要把遠程伺服器上的檔案,拷貝到本地,可是scp的時候必須輸入密碼,用here文檔又不能實現,終於找到一個好東東,expect ,可以實現自動登入,我們可以藉助expect在ssh,ftp,scp等地方實現自動登入,加入到指令碼中,可以自動完成一些事情,先把我的測試通過的指令碼貼出來:

#!/bin/bash

for i in a b c
do
/usr/bin/expect<<EOF
set timeout 1200;
spawn /usr/bin/scp root@192.168.0.26:/home/sunss/backup/$i/* /root/sss/$i/

expect "root@192.168.0.26's password:"
send "123456\r" 
expect eof
EOF
done

ssh遠程登入做些操作:

#!/bin/bash
#遠程登入重啟mysql

/usr/bin/expect<<EOF
set timeout 120;
spawn /usr/bin/ssh root@192.168.0.26
expect "*password:"
send "123456\r"
sleep 1
send "/etc/init.d/mysqld restart\r"
sleep 2
send "exit\r"
expect eof
EOF
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.