今天小編就爲大家分享一篇使用python的pexpect模塊,實現遠程免密登錄的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
說明
當我們需要用腳本實現,遠程登錄或者遠程操作的時候,都要去解決如何自動輸入密碼的問題,一般來說有3種實現方式:
1).配置公鑰私鑰
2).使用shell下的命令,expect
3).使用python的pexpect模塊
下面介紹的代碼,是使用python的pexpect模塊實現的:
代碼
import os import sys import pexpect import 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 + " [email protected]:/home/inf/xxx/huike/data/" + date_yes print cmd #發送命令,開始執行 child = pexpect.spawn(cmd) #匹配需要輸入密碼的狀態 child.expect('.ssword:') #向系統發送密碼 child.sendline('123456789') #結束子進程,不加的話,可能會報錯 child.expect(pexpect.EOF)
以上這篇使用python的pexpect模塊,實現遠程免密登錄的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。