사용자가 SSH를 통해서만 터미널 쉘에 로그인할 수 있도록 허용하여 각 연결이 .profile 파일에 작성된 스크립트만 실행하도록 하는 방법이 있습니까?
우리는 .profile에 작성된 스크립트를 실행하는 텔넷과 같은 터미널 세션뿐만 아니라 사용자가 서버에 액세스하는 것을 방지하고 싶습니다. 따라서 scp/sftp를 직접 실행하거나 임의의 명령(예 ssh user@server "cat file"
: .
exec
이 .profile 스크립트는 (현재 pid에서) 명령으로 시작된 ncurses 기반 애플리케이션을 실행하기 위해 현재 쉘(bash)을 준비합니다 .
그러나 특정 사용자에게만 해당됩니다.
답변1
ForceCommand
의 구성 옵션이 sshd_config
당신이 찾고 있는 것입니다. .profile
동작 에 의존하기보다는 거기에서 애플리케이션을 설정하는 것이 좋습니다 .
답변2
command="whatever"
모든 사용자에 대한 설정을 살펴보는 것이 좋습니다 . /etc/ssh/sshd_config
아직 테스트하지는 않았지만 사용하면 command="/bin/bash .profile"
원하는 것을 얻을 수 있습니다.