사용자가 홈 디렉터리를 할당한 경우에도 Chdir이 실패합니다.

사용자가 홈 디렉터리를 할당한 경우에도 Chdir이 실패합니다.

이 문제에 직면했습니다. 서버에 SSH로 연결하면 사용자가 올바르게 인증되었지만 연결이 닫힙니다.

홈 디렉터리 /home/blazej로 chdir을 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

getent passwd blazej보여주다:

blazej:x:1002:1002::/홈/blazej:

sshd_conf:

# Begin SFTP-Server block
Match Group sftp
    ChrootDirectory %h
    AllowTCPForwarding no
    X11Forwarding no
#    ForceCommand internal-sftp // This is commented not to force sfto on `sftp` group - I want to be able to ssh with users in `sftp` group
    PasswordAuthentication yes
# End SFTP-Server block

사용자 luqo33이 속한 그룹:blazej, sftp

blazej사용자와의 SSH가 실패하는 이유를 이해할 수 없습니다 . 반면에 sftp는 예상대로 작동하고 사용자를 홈 디렉토리에 기록합니다 /home/blazej.

내 SSH가 터미널에서 실패하는 이유를 알고 있습니까?

자세한 내용은:

ls -la/home/blazej에서:

root@host:/home/blazej# ls -la

total 32
drwxr-x--- 5 root   sftp     4096 Nov 21 09:00 .
drwxr-xr-x 5 root   root     4096 Nov 21 09:00 ..
-rw-r--r-- 1 blazej blazej    220 Apr  8  2014 .bash_logout
-rw-r--r-- 1 blazej blazej   3637 Apr  8  2014 .bashrc
drwxr-x--- 2 blazej www-data 4096 Nov 21 09:00 exports
drwxr-x--- 2 blazej www-data 4096 Nov 21 09:00 imports
drwxr-x--- 2 blazej www-data 4096 Nov 21 09:00 other
-rw-r--r-- 1 blazej blazej    675 Apr  8  2014 .profile

답변1

blazej 사용자를 사용하는 ssh가 실패하는 이유를 이해할 수 없습니다.

사용자는 chroot자신의 홈 디렉터리( %h홈 디렉터리)로 이동됩니다. 이는 cd루트가 프로세스용 /home/blazej이고 가 없기 때문에 결과가 실패함을 의미합니다 /home/blazej/home/blazej.

답변2

나는 같은 문제를 가지고있다. 이 문제를 해결하기 위해 설정했습니다.

ChrootDirectory /home/%u

사용자의 홈 디렉터리를 변경합니다.

usermod -d / <user>

관련 정보