2017-05-08 172 views
-1

我寫了一個簡單的代碼,其中我通過os.system將ssh調用到我的實驗設備ip之一。現在對我來說問題是我如何提供密碼?我可以通過python嗎?通過Python傳遞SSH密碼輸入

下面是我一直使用的代碼:我試圖瞭解os模塊的工作,但到目前爲止,怎麼現在無法提供密碼的說法

import os 
os.system("ssh 192.168.1.100") 

- 如何通過Python提供一個密碼這個節目?

我的環境是Bash。

+0

[Python中的命令行參數]的可能重複(http://stackoverflow.com/questions/1009860/command-line-arguments-in-python) – Ajean

回答

0

安裝sshpass,然後使用os.system啓動命令那樣:

os.system("sshpass -p \'yourpassword\' ssh -o StrictHostKeyChecking=no [email protected]") 

或者可以使用織物腳本將公鑰複製到系統,那麼你將無法連接

需要密碼
from fabric.api import env, sudo, run 
def copy_pub_key(ip, user, password, pub_key): 

    env.host_string = ip 
    env.user = user 
    env.password = password 

    if user == "root": 
     sudo('echo \'{pub_key}\' >> /root/.ssh/authorized_keys'.format(
      pub_key=pub_key, 
      user=user 
     )) 
    else: 
     sudo('echo \'{pub_key}\' >> /home/{user}/.ssh/authorized_keys'.format(
      pub_key=pub_key, 
      user=user 
     )) 
+0

感謝您的回覆。最終目標是實現登錄自動化,並且在某種官方環境中,除了系統給我的東西外,我無法添加任何軟件包。 –

+0

然後,您應該使用結構腳本將公鑰複製到系統中,然後您可以不使用密碼進行連接。 –