답변:
에 명령을 넣습니다 ~/.bashrc
. 로그인 할 때마다 실행됩니다.
ssh를 통해 로그인 할 때만 (물리적으로 로그인 할 때) 실행해야하는 명령이 필요한 경우 SSH_CONNECTION
환경 변수 가 있는지 테스트 하고 명령이 존재하는 경우에만 명령을 실행할 수 있습니다.
모든 사용자에게 이것을 원한다면 이것을 ~ / .bashrc 또는 /etc/bash.bashrc에 넣으십시오.
if [[ -n $SSH_CONNECTION ]] ; then
echo "I'm logged in remotely"
fi
screen
에 넣고 싶다면 응답을 사용 screen
하고 에코 대신 사용할 수 있습니다 . 문제는 스크린 세션을 마치면 로그 아웃하는 대신 SSH 프롬프트로 돌아 간다는 것입니다. 이 주석을 작성하면 대답이 나옵니다 . logout
명령 뒤에 명령을 추가하십시오 screen
.
exec command
은 현재 쉘을 실행 한 것으로 바꿉니다 .
또는 다음을 호출하는 동안 실행할 명령을 지정할 수 있습니다 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.
man bash
)의 INVOCATION 섹션을 읽어야합니다 .