我寫了一個簡單的代碼,其中我通過os.system
將ssh調用到我的實驗設備ip之一。現在對我來說問題是我如何提供密碼?我可以通過python嗎?通過Python傳遞SSH密碼輸入
下面是我一直使用的代碼:我試圖瞭解os
模塊的工作,但到目前爲止,怎麼現在無法提供密碼的說法
import os
os.system("ssh 192.168.1.100")
- 如何通過Python提供一個密碼這個節目?
我的環境是Bash。
我寫了一個簡單的代碼,其中我通過os.system
將ssh調用到我的實驗設備ip之一。現在對我來說問題是我如何提供密碼?我可以通過python嗎?通過Python傳遞SSH密碼輸入
下面是我一直使用的代碼:我試圖瞭解os
模塊的工作,但到目前爲止,怎麼現在無法提供密碼的說法
import os
os.system("ssh 192.168.1.100")
- 如何通過Python提供一個密碼這個節目?
我的環境是Bash。
安裝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
))
感謝您的回覆。最終目標是實現登錄自動化,並且在某種官方環境中,除了系統給我的東西外,我無法添加任何軟件包。 –
然後,您應該使用結構腳本將公鑰複製到系統中,然後您可以不使用密碼進行連接。 –
[Python中的命令行參數]的可能重複(http://stackoverflow.com/questions/1009860/command-line-arguments-in-python) – Ajean