2012年7月31日 星期二

python plink遠端連線下命令的工具(commandline)




為了因應這種系統, 在 Python  下你不能使用 telnet class 進行連線, 但你可以使用 Simon Tatham 先生寫的 plink.exe (Putty 命令列版), 安全地做你想作的事.


首先下載 plink.exe (Putty 的命令列版本)
snap006

plink  的使用教學
使用 ssh telnet 連線
c:\plink -ssh login.example.com
login as:
自動連上(包含 username 與 passwd)
c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼
在遠端機器上, 批次執行一堆指令
c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼 命令1;命令2
ex:
c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼 ls;echo Hello World;ls


使用Python 呼叫plink遠端連線
 Python 搭配 plink 進行遠端 ssh 批次處理的 code
import os
host="192.168.0.1"
user="username"
passwd="passwd"


com_array=["cd ~jing",
           "ls -la",
           "ftpget -u jing -p passwd ipaddress a.zip b.zip",
           "exit"]

# Step 1: the remote command
Batch_command=""
for command in com_array:
        Batch_command=Batch_command+command+";"
        #print Batch_command        
print "Batch_command="+Batch_command

# Step 2: the user info
UserLogin="-l "+user+" "+"-pw "+passwd

# Step 3: the plink command
PlinkCommand="plink.exe -ssh "+host+" "+UserLogin+" "+Batch_command

print "PlinkCommand="+PlinkCommand
os.system(PlinkCommand);
        
print "Job done!"



參考資料


沒有留言:

張貼留言