透過 ssh 透過跳轉主機連接到多台機器並收集一些資訊

透過 ssh 透過跳轉主機連接到多台機器並收集一些資訊

最近遇到一個情況,我不知道如何處理,比如說,我通常必須先連接到jumphost ,然後(或),然後同樣登錄,現在我想寫一個可以自動登錄的腳本全部運行一些命令來收集信息(具體是查看機器的GPU使用情況),這樣我就可以透過單一腳本了解所有機器上的所有GPU使用情況,但不知道如何操作,我嘗試了ProxyJump配置,例如:ssh [email protected]passwordssh machine1machine2 machine3 machine4,...passwordmachines(machine1, machine2, machine3, machine4,...)nvidia-smi

Host betajump
  HostName [email protected]

### Host to jump to via jumphost1.example.org
Host machine1
  HostName user@machine1
  ProxyJump betajump

但嘗試ssh machine1時不行,提示:

ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
/home/cc/.ssh/config: line 7: Bad configuration option: proxyjump
/home/cc/.ssh/config: terminating, 1 bad configuration options

即使這項工作,我仍然不知道做我想做的工作,有人可以幫忙嗎?

答案1

既然您談到想要編寫此過程的腳本,那麼您使用密碼的事實將會減慢您的速度。您可能需要考慮改用私鑰而不是密碼進行身份驗證。

第一個建議是升級到 OpenSSH 7.3 或更高版本。版本 7.6 現已發布,7.3 於 2016 年發布,因此很有可能以適合您的發行版的某種形式預先包裝。如果沒有,您可能可以找到它並編譯它。這將解決您收到的配置錯誤。

如果這是不可能的(您需要保留 6.6.1),您可以嘗試實施我在評論中連結到的網站中列出的更尷尬的方法:OpenSSH wiki re: 連結網關

這應該可以讓您編寫連接腳本,但正如開頭所提到的,密碼提示的數量將是您要檢查的電腦數量的 2 倍。這可能很快就會過時,所以我建議研究一下公鑰授權

您的圖書館問題完全是另一個問題,有點複雜,並且不會阻止您解決這個特定問題,因此我不會詳細介紹它。我建議從“man ldconfig”開始了解如何設定 LD_LIBRARY_PATH,然後從那裡找出為什麼“/home/cc/Downloads/software/envs/py2/lib/”出現在其中。

相關內容