![특정 사용자가 SSH 서버의 파일에 직접 액세스하는 것을 방지합니다(scp 또는 ftp와 유사한 동작).](https://linux55.com/image/156906/%ED%8A%B9%EC%A0%95%20%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B0%80%20SSH%20%EC%84%9C%EB%B2%84%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%A7%81%EC%A0%91%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%A9%EB%8B%88%EB%8B%A4(scp%20%EB%98%90%EB%8A%94%20ftp%EC%99%80%20%EC%9C%A0%EC%82%AC%ED%95%9C%20%EB%8F%99%EC%9E%91)..png)
사용자가 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"
원하는 것을 얻을 수 있습니다.