使用python的pexpect模塊,實現遠程免密登錄的示例

今天小編就爲大家分享一篇使用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模塊,實現遠程免密登錄的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章