說明
當我們需要用腳本實現,遠程登錄或者遠程操作的時候,都要去解決如何自動輸入密碼的問題,一般來說有3種實現方式:
1).配置公鑰私鑰
2).使用shell下的命令,expect
3).使用python的pexpect模塊
下面介紹的代碼,是使用python的pexpect模塊實現的:
代碼
import osimport sysimport pexpectimport datetime#獲取昨天的日期date_yes = (datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y%m%d')print date_yes#遠程拷貝名利cmd="scp /home/lsh/xxx/huike/data/" + date_yes + " data@x.x.x.x:/home/inf/xxx/huike/data/" + date_yesprint cmd#發送命令,開始執行child = pexpect.spawn(cmd)#匹配需要輸入密碼的狀態child.expect('.ssword:')#向系統發送密碼child.sendline('123456789')#結束子進程,不加的話,可能會報錯child.expect(pexpect.EOF)
以上這篇使用python的pexpect模塊,實現遠程免密登錄的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。
新聞熱點
疑難解答