에서를 사용하여 ssh_config
일부 환경 변수를 호스트로 내보내도록 선택할 수 있습니다 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_config
및 man sshd_config
.
답변
또 다른 아이디어는 ssh 명령에서 환경 변수를 설정하고 대화식 쉘을 실행하는 것입니다. env-var ‘MANWIDTH’로 대화 형 쉘을 호출하려고합니다.
ssh example.com 'MANWIDTH=120 bash -li'
답변
.ssh / config 파일을 사용하여 호스트 별 구성 값을 설정할 수 있습니다. 예를 들면 다음과 같습니다.
Host example.com
SendEnv FOO
서버도이를 지원해야합니다.