問題: 有3個設備:我的服務器(Linux),跳轉服務器(Linux)和Cisco箱。 我可以手動SSH到跳轉服務器上,並從那裏ssh到思科盒並交互式運行命令。 有沒有一種方法可以實現這個使用PHP編程? 我希望能夠在思科盒子中對來自思科盒子的響應進行interogate,並相應地裁剪下一個命令。 我在Python中做了類似的事情,但能夠直接使用套接字(中間沒有跳轉服務器) 但我更喜歡使用PHP,如果我可以。ssh通過跳轉服務器進行交互式會話
回答
man ssh
:
-t Force pseudo-terminal allocation. This can be used to execute
arbitrary screen-based programs on a remote machine, which can be
very useful, e.g. when implementing menu services. Multiple -t
options force tty allocation, even if ssh has no local tty.
因此,ssh -t jump_server ssh -t cisco_box ...
此外,您還可以通過proc_open或exec在PHP中使用這樣的命令。然後你將得到PHP中執行的ssh的stdin,stdout和stderr(以及其他文件描述符),這樣你就可以向/從cisco框發送/接收命令和數據。
這取決於另一端的程序是否需要tty(其中-t
強制執行)。像mc這樣的程序確實需要tty,但是大多數命令行工具不需要(然後簡單地省略-t
)。
如果這個想法有任何有效性,我怎麼能把它封裝在PHP中,然後發送命令並接收輸出。我很抱歉,但我覺得這個時候我有點模糊了。 –
經過許多不成功的嘗試之後,我現在正在嘗試使用Python。我的新問題是在http://stackoverflow.com/questions/42557671/how-do-i-capture-password-prompt –
嘗試simpe使用從shell,當它的工作,弄清楚如何從PHP調用它。 –
- 1. 通過SSH在PHP中與多臺服務器進行交互
- 2. 非交互式ssh到服務器,但交互式
- 3. 通過PHP進行SSH會話
- 4. 通過web服務器上的多個文件進行交互
- 5. SSH掛在「進入交互式會話」階段
- 6. 流浪漢模式中通過登錄服務器(多跳SSH)
- 7. 如何從Ruby中的跳傘服務器SSH跳轉到服務器和SSH
- 8. 如何與clisp中的ssh會話進行交互?
- 9. python ssh到跳轉服務器,然後從跳轉服務器ssh到主機執行命令
- 10. 與運行在非交互式SSH會話參數不工作
- 11. 在交互式python調試會話中跳過指令
- 12. selenium無服務器通過SSH運行
- 13. 如何使用SSH交互會話
- 14. 如何通過web服務從xamarin與SQL Server進行交互?
- 15. 與通過HTTP請求公開的服務進行交互
- 16. 無法通過SSH從JAVA程序進行交互
- 17. 通過SSH進行SSH(或如何通過SSH「通過SSH進行通信」)
- 18. Angular2 Observable,通過服務中的對象進行交互會產生錯誤
- 19. 通過互聯網進行客戶機/服務器通信
- 20. 無法在Windows服務器上通過SSH會話與Plink執行命令
- 21. 使用SSH通過另一臺服務器通過SSH連接到服務器
- 22. 通過服務器的Rails會話
- 23. 通過SSH密鑰進行服務器身份驗證失敗
- 24. 通過ssh運行交互式Bash命令
- 25. 我可以通過ssh交互式運行程序嗎?
- 26. 如何通過red5服務器在音頻中進行雙向交互
- 27. 設置網絡服務與QuickBooks通過網絡連接器進行交互
- 28. 通過互聯網與客戶端/服務器應用程序進行交互的最佳方式?
- 29. 從PHP啓動交互式SSH bash會話
- 30. 來自交互式SSH會話的PHP CLI記錄輸出
谷歌'php ssh' – Ibu
或谷歌交互式php外殼。 – Dimi
我一直在谷歌搜索 - PHP + SSH,SSH隧道,端口轉發等整天,但沒有發現任何作品。請實用建議。 –