구리의 창고

SSH - ssh command 실행 시, 환경 변수 넘기기 본문

Linux

SSH - ssh command 실행 시, 환경 변수 넘기기

구리z 2018. 5. 17. 11:21

개요

ssh를 이용해 원격으로 명령어를 실행 할 때, 환경 변수를 관리하고 설정하는 법을 설명한다.

기본 설정

기본 설정 값으로 넘길 수 있는 환경변수는 설정 파일에 아래와 같이 설정되어있다.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

주로 Locale 관련된 값이 넘어가는 것을 알 수 있다. 위 환경변수들은 ssh command를 실행 할 때 시스템에 설정된 값이 같이 넘어간다고 보면된다.

추가하기

ssh command에 사용 할 환경변수를 추가하려면 두 단계로 설정을 해야한다. A서버에서 B서버로 명령어를 실행한다고 가정한다.

A서버 설정

cat ~/.ssh/config << SendEnv MY_ENV

B서버 설정

cat /etc/ssh/sshd_config << AcceptEnv MY_ENV

실행하기

MY_ENV=hello ssh test.machine.ip -c "echo $MY_ENV"
Comments