我有一個要求,我需要做以下SSH使用子模塊
我需要ssh到Linux機器,運行一個命令,得到輸出回來,我需要做一些操作一臺Linux機器。
這可能通過python子流程模塊。
基本上我需要一個.py代碼,其中我會給連接到Linux的IP地址,用戶名和密碼,並運行命令並獲得輸出。
也可以通過Python提供的其他模塊進行操作。
建議歡迎。
我有一個要求,我需要做以下SSH使用子模塊
我需要ssh到Linux機器,運行一個命令,得到輸出回來,我需要做一些操作一臺Linux機器。
這可能通過python子流程模塊。
基本上我需要一個.py代碼,其中我會給連接到Linux的IP地址,用戶名和密碼,並運行命令並獲得輸出。
也可以通過Python提供的其他模塊進行操作。
建議歡迎。
你的問題被標記爲「paramiko」,那麼你爲什麼不使用它?
我需要ssh到一個Linux的盒子,運行一個命令,得到輸出回來,我需要做一些操作。
SSH到Linux框(或任何其他ssh服務器)上:
>>> import paramiko
>>> ssh=paramiko.SSHClient()
>>> ssh.load_system_host_keys()
>>> ssh.connect(hostname='localhost', username='haiprasan86', password='secret')
>>> print ssh
<paramiko.SSHClient object at 0xdf2590>
運行命令:
>>> _, out, err = ssh.exec_command('ls -l /etc/passwd')
>>> # block until remote command completes
>>> status = out.channel.recv_exit_status()
>>> print status
0
得到的輸出回:
>>> print out.readlines()
['-rw-r--r--. 1 root root 2351 Mar 27 10:57 /etc/passwd\n']
我不知道你想要做什麼操作。
有沒有辦法讓'ssh.exec_command'非阻塞? – zengr
如果它只是一個命令,你可以簡單地把它添加到命令行:然後
ssh [email protected] "echo foo"
將返回FOO。如果在遠程主機的~/.ssh/authorized_keys
-文件中將公鑰用於ssh-agent
-那麼您甚至不需要詢問密碼。
請在發佈之前做一些研究http://stackoverflow.com/questions/1233655/what-is-the-simplest-way-to-ssh-using-python – alegen
如果你需要給一個密碼,我不會'我認爲你可以通過子進程來做到這一點。 – mgilson
你有沒有考慮過使用[一個合適的Python SSH模塊](http://stackoverflow.com/questions/1233655/what-is-the-simplest-way-to-ssh-using-python)? – katrielalex