특정 사용자가 SSH 서버의 파일에 직접 액세스하는 것을 방지합니다(scp 또는 ftp와 유사한 동작).

특정 사용자가 SSH 서버의 파일에 직접 액세스하는 것을 방지합니다(scp 또는 ftp와 유사한 동작).

사용자가 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"원하는 것을 얻을 수 있습니다.

관련 정보