여러 웹 사이트도 실행하는 RHEL 8 서버에 chrooted SFTP 디렉터리를 설정했습니다. 오늘 아침에 SSH를 시도했을 때 서버는 SFTP 연결만 허용한다고 말했습니다. 다행히 가상 머신이므로 콘솔에 직접 연결할 수 있습니다.
sshd_config
제가 금요일에 추가한 내용은 다음과 같습니다.
ForceCommand internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/%u
해당 줄을 주석 처리하면 ForceCommand
SSH로 다시 들어갈 수 있습니다. 전체 서버를 SFTP 서버로 전환하지 않고 SFTP 사용자를 특정 디렉터리로 제한하는 올바른 지시문은 무엇입니까?
답변1
man sshd_config
문서를 확인 하세요 :
ForceCommand
ForceCommand
- 클라이언트가 제공한 모든 명령을 무시하고 지정된 명령을 강제 실행합니다.
이를 지정하면 클라이언트가 요청하거나 기대하는 것과 관계없이 모든 SSH 연결이 수행되어야 한다는 ForceCommand internal-sftp
것을 알 수 있습니다 .sshd
internal-sftp
Subsystem
아래에 문서화되어 있는 이 기능을 거의 확실히 사용하고 싶을 것입니다 .
Subsystem
- 외부 하위 시스템(예: 파일 전송 데몬)을 구성합니다.
상황을 수정하려면 해당 항목을 삭제 ForceCommand
하고 로 바꾸십시오 Subsystem
. 또한 나는 명령이 또는 적용할 때만 적용된다는 것을 시각적으로 더 명확하게 하기 위해 Match
또는 줄 뒤에 명령을 들여쓰는 경향이 있습니다.Host
Match
Host
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/%u