使用bash腳本向SSH客戶端發送命令?

使用bash腳本向SSH客戶端發送命令?

大家下午好,

我最近意識到我能夠使用<enter>~C轉義序列從遠端 SSH 連線將命令傳送回本機工作站,例如:

[root@host ~]# 
[root@host ~]# 
ssh> !ip ad

現在,我希望能夠使用 bash 腳本在本地工作站上自動運行命令或執行其他操作,但我無法找到任何以編程方式將命令發送回此 shell 的方法,也沒有找到任何人其他人被問過/嘗試過。需要明確的是,我並不是試圖透過 SSH 將命令發送到遠端伺服器 - 我正在嘗試透過客戶端從 SSH 連線將命令發送回我的工作站(如上圖所示)。

如果有人有任何建議或知道如何做到這一點,我將非常感謝您的幫助。謝謝!

答案1

我認為這是不可能的,因為轉義字元永遠不會到達遠端系統上的 Bash。在遠端 bash 可以設定它之前,它會被本地 SSH 用戶端攔截。

我知道這不是您所要求的,並且根據您的情況可能不可行,但替代解決方案可能會實現您的目標:

透過從遠端電腦 SSH 返回到本機上執行命令:

[root@remote-host ~]# ssh your-local-machine ip ad

答案2

由於這是一個安全問題,您將無法在 SSH 連線中從遠端主機執行本機命令。

您逃避連接以傳遞命令的方式是透過終端,即。從本地伺服器。

因此,如果您想透過 SSH 連線執行連線和腳本,您可以嘗試查看 Expect,但它將透過將 SSH 連線嵌入或包裝到另一個應用程式來實現,而不是直接從遠端 shell 中實現。

相關內容