사용자를 홈 디렉터리로 루트하는 ftp처럼 동작하도록 SFTP를 구성하려면 어떻게 해야 합니까?

사용자를 홈 디렉터리로 루트하는 ftp처럼 동작하도록 SFTP를 구성하려면 어떻게 해야 합니까?

사용자 액세스를 (chroot) 홈 디렉터리에만 제한하기 위해 Fedora 10에 vsftpd유틸리티를 설치했습니다. 프롬프트를 사용하여 연결하면 ftp제대로 작동합니다 . 하지만 를 사용하여 연결하면 작동하지 않습니다 sftp.

동일한 기능을 달성하려면 어떤 변경이 필요합니까 sftp?

답변1

Stephane의 답변 외에도 FTPS도 있다는 점을 지적하고 싶습니다. FTPS는 SSL 보안 연결을 기반으로 하는 클래식 FTP 프로토콜입니다. 물론 그것이 당신이 의미한 것이라면 당신의 질문을 조정해야 할 것입니다. 그러나 그것은 완전히 다른 질문이 될 것입니다.

FTPS에는 두 가지 변형이 있습니다. 하나는 제어 채널(자격 증명 등)을 보호하는 것이고 다른 하나는 데이터 채널도 보호하는 것입니다. 그러나 Stephane이 이미 지적했듯이 기능과 명령을 포함하여 프로토콜이 다릅니다.


귀하의 의견에 관해서. /etc/ssh/sshd_config특정 조건에 따라 특정 디렉터리 구조만 허용하도록 구성할 수 있습니다 . 다음 예에서는 그룹의 모든 구성원을 폴더 sftponly로 제한합니다 /home. 필요에 맞게 조정하세요.

Match group sftponly
    ChrootDirectory /home
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    PasswordAuthentication no

보시다시피 다른 옵션도 설정합니다. 엄밀히 말하면, 요청하는 기능에는 다음만 필요합니다.

Match group sftponly
    ChrootDirectory /home
    ForceCommand internal-sftp

그러나 물론 이러한 옵션을 사용하면 사용자가 다른 SSH 기능을 사용할 수 없습니다.

man sshd_config특히 이 Match지침 에 대한 자세한 내용을 문의하시기 바랍니다 . 사용자별, 호스트별, (원격) 주소별로 일치시킬 수도 있습니다.

답변2

vsftpdFTP 프로토콜을 구현한 FTP 서버입니다. FTP는 일부 암호화 확장 기능을 제공하지만 SSH의 하위 시스템인 SFTP와는 완전히 다릅니다.

이를 사용하려면 서버를 구성하고 하위 시스템을 활성화 sftp해야 합니다 ( 자세한 내용은 매뉴얼 페이지 참조). ed 사용자 영역을 구성할 수도 있습니다 .sshsftpsshd_configsftpchroot

관련 정보