나는 팔로우하고 있다SFTP chrootArchWiki의 위키를 확인하고 거대한 장애물을 확인하십시오. sftponly
사용자에게 권한을 부여할 수 없습니다.
(내 사용자 2명)에 대한 출력 tail -2 /etc/passwd
:
chris:x:1001:1002::/home/jail:/usr/bin/nologin
rick:x:1002:1002::/home/jail:/usr/bin/nologin
groups chris
출력 groups rick
:
sftponly
목차:
$ ls -l /home
total 24
drwxr-xr-x 3 root root 4096 Jan 9 16:12 jail/
$ ls -l /home/jail
total 4
drwxrwxr-x 3 rick sftponly 4096 Jan 9 16:12 dropbox/
노트dropbox/
:이 디렉토리에 있는 유일한 이유 rick
는 chroot 감옥 디렉토리에 있는 파일의 소유권을 변경하려고 하기 때문입니다. 왜냐하면 그것이 제가 광범위한 인터넷 검색에서 읽은 내용이기 때문입니다. 둘 다 동일한 파일을 편집할 수 있기를 chris
바랍니다 . rick
로그인할 수 있게 되면 facl 권한을 조사하겠습니다.
관련 부분/etc/ssh/sshd_config
Subsystem sftp /usr/lib/ssh/sftp-server
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes
로그인하고 비밀번호를 입력하려고 하면 sftp rick@localhost
로그에서 다음이 표시됩니다.
Jan 09 16:44:17 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:23 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:28 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:29 dell-dropbox sshd[688]: Connection closed by authenticating user rick ::1 port 57410 [preauth]
노트: 다들 비밀번호를 설정해놨어요. 내가 입력한 비밀번호가 정확합니다. 아무 문제 없이 sftp를 통해 나 자신으로 로그인할 수 있습니다.
내가 놓친 게 무엇입니까?
답변1
경고: 저는 보안 전문가가 아닙니다. 이 방법을 사용하면 ssh를 통해 로그인할 수 없는지 확실하지 않지만 테스트해 보니 로그인할 수 없는 것 같습니다.
핵심 문제는 인 것 같았 /bin/nologin
지만 처음부터 이것이 필요하지 않은 것으로 나타났습니다.
sshd가 위의 설정으로 구성되고 사용자의 홈 디렉터리가 감옥으로 설정되어 있으면 어쨌든 ssh를 사용할 수 없습니다. chroot
감옥 에 대해 찾은 모든 튜토리얼은 감옥과 감옥 ssh
에 대해서는 제외하고 시스템 폴더 설정, 즉 본질적으로 시스템 내에 시스템을 생성해야 하는 필요성에 대해 논의합니다. 그것들 없이는 ssh를 통해 로그인할 수 없는 것 같습니다chroot
sftp
하지만SFTP를 통해.
따라서 위의 지침을 따르되 사용자의 쉘을 로 설정하지 마십시오 /bin/nologin
. 이는 데몬 사용자를 위한 것입니다.
또한 SSH 키를 사용하여 이 모든 것을 구성하는 것도 매우 쉽습니다. .ssh/authorized_keys
공유 홈 디렉터리에 루트 소유 파일 만 있으면 됩니다.
SSH 키 결과:
~ » ssh chriss@localhost
Enter passphrase for key '/home/malan/.ssh/id_rsa':
This service allows sftp connections only.
Connection to localhost closed.