전체 시스템에 영향을 주지 않고 SFTP 서버를 설정하는 방법

전체 시스템에 영향을 주지 않고 SFTP 서버를 설정하는 방법

여러 웹 사이트도 실행하는 RHEL 8 서버에 chrooted SFTP 디렉터리를 설정했습니다. 오늘 아침에 SSH를 시도했을 때 서버는 SFTP 연결만 허용한다고 말했습니다. 다행히 가상 머신이므로 콘솔에 직접 연결할 수 있습니다.

sshd_config제가 금요일에 추가한 내용은 다음과 같습니다.

ForceCommand internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/%u

해당 줄을 주석 처리하면 ForceCommandSSH로 다시 들어갈 수 있습니다. 전체 서버를 SFTP 서버로 전환하지 않고 SFTP 사용자를 특정 디렉터리로 제한하는 올바른 지시문은 무엇입니까?

답변1

man sshd_config문서를 확인 하세요 :

ForceCommandForceCommand- 클라이언트가 제공한 모든 명령을 무시하고 지정된 명령을 강제 실행합니다.

이를 지정하면 클라이언트가 요청하거나 기대하는 것과 관계없이 모든 SSH 연결이 수행되어야 한다는 ForceCommand internal-sftp것을 알 수 있습니다 .sshdinternal-sftp

Subsystem아래에 문서화되어 있는 이 기능을 거의 확실히 사용하고 싶을 것입니다 .

Subsystem- 외부 하위 시스템(예: 파일 전송 데몬)을 구성합니다.

상황을 수정하려면 해당 항목을 삭제 ForceCommand하고 로 바꾸십시오 Subsystem. 또한 나는 명령이 또는 적용할 때만 적용된다는 것을 시각적으로 더 명확하게 하기 위해 Match또는 줄 뒤에 명령을 들여쓰는 경향이 있습니다.HostMatchHost

Subsystem sftp internal-sftp

Match Group sftpusers
    ChrootDirectory /sftp/%u

관련 정보