Centos 7에서 SFTP를 구성하려고 하는데 첫 번째 서버에서는 완벽하게 작동하지만 두 번째 서버에서는 다음과 연결하려고 합니다.
sftp USERNAME@serveripaddress
이 오류가 있습니다.
Could not read packet: Connection reset by peer
나는 이 방법을 사용합니다.
adduser USERNAME
passwd USERNAME
groupadd sftp_only
usermod -aG sftp_only USERNAME
SSH chroot 구성:
vi /etc/ssh/sshd_config
의견을 추가하다 :
#Subsystem Sftp /usr/libexec/openssh/sftp-server
다음 줄을 추가하십시오.
Subsystem sftp internal-sftp
파일 끝에 추가하십시오.
Group sftp_only Match
ChrootDirectory /var/www
ForceCommand internal-sftp
X11Forwarding No
AllowTcpForwarding No
SSH를 다시 시작하십시오.
service sshd restart
내 2개 서버에 동일한 iptables 규칙이 있고 iptables를 비활성화한 상태로 시도합니다.
VSFTPD와 같은 FTP 서버를 설치해야 할까요?
몇시간째 완전히 막혀있는데 도와주셔서 감사합니다.
답변1
SFTP 프런트엔드를 제공하는 proftpd를 사용할 수 있습니다. 이렇게 하면 SFTP, FTP 및 FTP/S를 하나의 데몬으로 통합할 수 있습니다. 그러나 SFTP에 포트 22를 사용할 수 없습니다. 그렇지 않으면 proftpd와 sshd가 SFTP에 대해 동일한 포트를 바인딩할 수 없기 때문에 해당 포트에서 SSH를 포기해야 합니다.
답변2
고양이 /var/log/auth.log
May 10 17:08:32 machine sshd[31902]: fatal: bad ownership or modes for chroot directory component "/var/www/html/nextcloud/"
그게 내 문제였어
우리가 이것을 따라갈 수 있게 된 후에chroot 디렉토리 구성 요소의 잘못된 소유권 또는 모드
그런데 결국 바인드 솔루션을 사용하게 되었습니다.도움 필요 - SFTP 사용자에 대한 액세스를 다른 사용자 홈->하위 폴더로 제한
답변3
파일 PasswordAuthentication no
로 변경 하고 명령으로 다시 시작하십시오 .PasswordAuthentication yes
/etc/ssh/sshd_config
service sshd restart
답변4
홈 폴더는 루트가 소유하고 기본 폴더는 sftp 사용자가 소유하는지 확인하십시오. 예를 들어, 'guestuser' 사용자의 홈 디렉터리로 수신을 생성하려면 /guestuser/incoming 사용자로 폴더를 생성해야 합니다. guestuser 폴더는 루트가 소유해야 하며 수신 폴더는 guestuser가 소유해야 합니다.