주어진 SSH 호스트에 대한 변수 설정 호스트로 내보내도록 선택할 수 있습니다 SendEnv. 호스트

에서를 사용하여 ssh_config일부 환경 변수를 호스트로 내보내도록 선택할 수 있습니다 SendEnv.

호스트 당이 변수에 대해 지정된 값을 적용하는 방법도 있습니까? 예를 들어, 호스트에 연결할 때만 $FOO값으로 변수를 내보낼 수 있습니까?barexample.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.


답변

또 다른 아이디어는 ssh 명령에서 환경 변수를 설정하고 대화식 쉘을 실행하는 것입니다. env-var ‘MANWIDTH’로 대화 형 쉘을 호출하려고합니다.

ssh example.com 'MANWIDTH=120 bash -li'

답변

.ssh / config 파일을 사용하여 호스트 별 구성 값을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

Host example.com
SendEnv FOO

서버도이를 지원해야합니다.