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.