ssh_config
では、SendEnv
を使用して一部の環境変数をホストにエクスポートすることを選択できます。
ホストごとに、この変数に特定の値を強制する方法もありますか?たとえば、ホスト$FOO
に接続している場合にのみ、変数example.com
を値bar
でエクスポートできますか?
ssh_config
の環境変数に特定のvalueを指定することはできませんが、既存の環境変数を特定のホストにのみ送信することは確実にできます。
Host example.com
SendEnv FOO
チェーンを完了するには:
FOO=bar ssh [email protected]
最後に、リモートサーバーのsshd_config
のAcceptEnv
にリストされている環境変数が必要です。
AcceptEnv FOO
~/.ssh/config
でSetEnv
を使用して特定の値を指定できます。
Host *
SetEnv FOO=bar
man ssh_config
に従って:
サーバーに送信する1つ以上の環境変数とその内容を直接指定します。
SendEnv
と同様に、サーバーは環境変数を受け入れる準備をする必要があります。
サーバーの/etc/ssh/sshd_config
に次の行があると仮定します。
AcceptEnv LANG LC_* FOO
また、man ssh_config
およびman sshd_config
も確認してください。
.ssh/configファイルを使用して、ホスト構成値ごとに設定できます。例えば:
Host example.com
SendEnv FOO
サーバーもそれをサポートする必要があることに注意してください。
別のアイデアは、sshコマンドで環境変数を設定し、インタラクティブなシェルを実行することです。 env-var 'MANWIDTH'を使用してインタラクティブシェルを起動しようとしています。
ssh example.com 'MANWIDTH=120 bash -li'