基本上,我需要訪問一臺計算機,比如機器A,它只能通過我公司的內部網絡訪問。我曾經可以設置tcprelay端口轉發來完成此操作,但由於一些潛在的安全漏洞,該管道已被禁用。如何通過使用Paramiko的中間主機進行SSH機器?
比方說,我的公司一般的網絡是在 [email protected] 和特定的機器,我想使用的是 [email protected]
兩個賬戶有密碼「密碼」
通過端子和外殼命令,我可以跳有使用一個單一的命令: https://askubuntu.com/a/311457
,或者在步驟,這將是:
[on my account] ssh [email protected]
[on my account] enter password
[on company network] ssh machine @10.0.0.3
[on company network] enter password again
而且我會登錄到需要與之通信的機器。
但是,在整個下午被黑客入侵後,我無法與Paramiko一起工作。我嘗試設置連接,然後發出client.exec_command(),但無法獲得特定機器的句柄。我的其餘腳本依賴於有一個可以接收命令並返回響應的paramiko客戶端,所以對於我來說,傳播所有更改是我轉而說結構或子進程將是一個非常繁重的開銷。
我到最接近的是:
ssh.connect(’10.0.0.1', username=‘company', password=‘password’)
chan = ssh.get_transport().open_session()
chan.get_pty()
chan.exec_command(‘ssh [email protected]’)
print chan.recv(1024)
其返回的「輸入密碼」的提示,但運行chan.send(‘password’)
只是掛起結束。
我在這一點拉我的頭髮,只是通過閱讀文檔,希望找到我失蹤的概念。
如果有人可以提供一些建議,我會很感激。
謝謝!
可能的重複:http://stackoverflow.com/questions/1911690/nested-ssh-session-with-paramiko – sberry