SSH 로그인에서 자동으로 명령을 실행하는 방법은 무엇입니까? 로그인 할 때마다 몇 가지

Linux 서버에 로그인 할 때마다 몇 가지 명령을 자동으로 실행하고 싶습니다 (일부 변수 설정, 위치 변경 등).

시스템 시작이 아닌 사용자 로그인시 수행해야합니다.

이를 위해 어떻게 설정할 수 있습니까?



답변

에 명령을 넣습니다 ~/.bashrc. 로그인 할 때마다 실행됩니다.

ssh를 통해 로그인 할 때만 (물리적으로 로그인 할 때) 실행해야하는 명령이 필요한 경우 SSH_CONNECTION환경 변수 가 있는지 테스트 하고 명령이 존재하는 경우에만 명령을 실행할 수 있습니다.


답변

모든 사용자에게 이것을 원한다면 이것을 ~ / .bashrc 또는 /etc/bash.bashrc에 넣으십시오.

if [[ -n $SSH_CONNECTION ]] ; then
    echo "I'm logged in remotely"
fi

답변

또는 다음을 호출하는 동안 실행할 명령을 지정할 수 있습니다 ssh.

$ ssh -t server 'cmd; exec bash -l'

목록의 마지막 명령은 선호하는 쉘에서 대화식 세션을 시작해야합니다. 실행할 명령이 많으면 SSH 서버에서 스크립트 파일을 작성하십시오.


답변

사실 ~/.ssh/rc때 실행할 명령을 추가 할 수있는 권리 곳입니다 당신이 로그인 오히려 시스템의 모든 사용자보다가.

 ~/.ssh/rc
         Commands in this file are executed by ssh when the user logs in,
         just before the user's shell (or command) is started.  See the
         sshd(8) manual page for more information.