Debian 7은 SFTP 사용자를 생성할 수 없습니다.

Debian 7은 SFTP 사용자를 생성할 수 없습니다.

SSH Throw 터미널을 통해 액세스하는 linode가 있습니다. 기본 디렉토리(및 액세스할 수 있는 유일한 디렉토리)가 다음과 같은 sftp 사용자를 생성해야 합니다./var/www/xxxxxx.com/public_html/directory

자, 해냈는데 연결하려고 하면 파이프가 끊어지거나 피어에서 연결을 거부합니다.

내가 한 일은 다음과 같습니다.

$ adduser --home /var/www/xxxxxx.com/public_html/directory/ username
$ chown username:username /var/www/xxxxxx.com/public_html/directory/
$ chmod 755 /var/www/xxxxxx.com/public_html/directory/
$ nano /etc/ssh/sshd_config

/etc/ssh/sshd_config다음 줄을 추가했습니다 .

Match User username
   ChrootDirectory /var/www/xxxxxx.com/public_html/directory/
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

내가 뭘 잘못했나요?

편집 : 이것은 실제 오류입니다

여기에 이미지 설명을 입력하세요.

EDIT2: 이것은 filezilla의 버그입니다.

여기에 이미지 설명을 입력하세요.

편집 3: auth.log

 Oct 15 17:47:11 (none) sshd[361]: fatal: bad ownership or modes for chroot directory "/var/www/xxxxxxxxxxxx.com/public_html/extras_html"

답변1

이 질문은 여러 번 답변되었지만 지금은 찾을 수 없습니다. 정답은 RTFM입니다.

간단히 말해서: man sshd_config이 문장에서 얻을 수 있는 내용은 다음과 같습니다.

Chroot 디렉토리

인증 후 chroot(2)에 대한 디렉토리 경로 이름을 지정합니다. 경로 이름의 모든 구성 요소는 루트가 소유한 디렉터리여야 하며 다른 사용자나 그룹이 쓸 수 없어야 합니다. chroot 후에 sshd(8)는 작업 디렉토리를 사용자의 홈 디렉토리로 변경합니다.

오류 메시지에 대한 설명이 제공됩니다. 경로의 ACL을 수정하면 문제가 해결됩니다.

답변2

나는 그것을 해결했다. 문제는 내가 이렇게 하기 때문이다:

$ chown user:user /var/www/xxxxxx.com/public_html/directory/

내가 해야 할 일은:

$chown root:root /var/www/xxxxxx.com/public_html/directory/

그런 다음 "디렉터리" 내에서 777 권한을 가진 사용자를 위한 디렉터리를 만들었습니다(더 나은 방법은 아니지만 작동합니다).

"피어에 의해 거부됨" 오류는 /directory에 755 권한이 있어야 하기 때문에 발생합니다.

관련 정보