Ssh

為給定的 SSH 主機設置變數

  • February 3, 2022

ssh_config中,可以選擇使用.export 將一些環境變數導出到主機SendEnv

是否還有一種方法可以為每個主機強制此變數的給定值?例如,是否可以僅在連接到主機時導出$FOO帶有值的變數?bar``example.com

您無法為 中的環境變數提供特定ssh_config,但您當然可以將現有環境變數僅發送到特定主機。

Host example.com
   SendEnv FOO

要完成鏈:

FOO=bar ssh user@example.com

最後,遠端伺服器必須AcceptEnv在其sshd_config.

AcceptEnv FOO

您可以通過SetEnv在您的中使用來給出一個特定的值~/.ssh/config,例如

Host *
 SetEnv FOO=bar

根據man ssh_config

直接指定一個或多個環境變數及其內容髮送到伺服器。與 類似SendEnv,伺服器必須準備好接受環境變數。

假設您的伺服器有以下行/etc/ssh/sshd_config

AcceptEnv LANG LC_* FOO

還要檢查:man ssh_configman sshd_config

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