Ssh

在我註銷後使 ssh 代理在螢幕上可用

  • December 9, 2016

在我不再連接到第一台機器後,使在第一台機器上的螢幕上執行的命令能夠繼續在第二台機器上執行命令的最佳方法是什麼?

這是背景。我有一個長時間執行的命令,需要定期從其他機器收集資訊。它通過發送 ssh 命令並讀取輸出來做到這一點。這目前通過 ssh 代理工作,因為我使用ForwardAgent.

目前我可以 ssh 到第一台機器,執行命令,它就可以工作了。同樣,我可以啟動一個螢幕,執行命令,斷開與螢幕的連接,然後它繼續執行。但是,如果我與第一台機器的 ssh 連接中斷,那麼 ssh 代理將停止工作,並且螢幕中執行的命令也會中斷。

即使我不再連接到任何一台機器,我也希望該命令能夠正確執行。

AFAIK,這是不可能的。代理使用的私鑰永遠不會傳輸到該中間伺服器。如果您與中間伺服器的連接失去,則根本沒有任何東西可用於身份驗證。代理協議的設計使您的私鑰永遠不會從執行代理的系統中轉移出去。

如果您經常在此中間系統上工作,最好的選擇可能是生成該系統唯一的密鑰對,並在您登錄並啟動程序時將其載入到該系統上執行的代理中。顯然,您還需要將關聯的公鑰發​​佈到您需要訪問的所有系統。

引用自:https://serverfault.com/questions/819841