RHEL6을 사용하고 있습니다. 셸 액세스 권한은 없지만 SFTP 권한은 있는 사용자 Jack이 있습니다. 내 사용자의 경우 ssh-keygen
jack(user) 명령을 사용하여 RSA 키 쌍을 만들었습니다. .ssh
jack의 홈 디렉토리에 폴더를 만들었습니다 . 또한 authorized-keys
아래에 공개 키가 포함된 파일을 만들었습니다 .ssh
.
[root@myserver jackhome]# ls -ld .ssh
drwx------ 2 jack jack 4096 Dec 20 11:38 .ssh
[root@myserver jackhome]# ls -l .ssh
-rw------- 1 jack jack 405 Dec 20 11:38 authorized_keys
[root@myserver jackhome]# ls -ld /opt/apps/FTP/jackhome
drwxr-x--- 9 root jack 4096 Dec 20 11:37 /opt/apps/FTP/jackhome
하지만 SFTP에는 개인 키를 사용할 수 없습니다. 그러나 SFTP 비밀번호를 사용한 연결은 제대로 작동합니다. SFTP를 통해 내 사용자와 연결하고 .ssh
내 홈 디렉터리에 있는 동일한 Authorized_keys 파일과 폴더를 사용하여 키 쌍을 테스트했습니다.
조금 혼란스러워요. 어떤 아이디어가 있나요?
고쳐 쓰다:jackhome의 소유자를 루트 대신 jack으로 변경했으며 비밀번호를 사용해도 SFTP 액세스가 손실되었습니다.
[root@myserver jackhome]# ls -ld /opt/apps/FTP/jackhome
drwxr-x--- 9 jack jack 4096 Dec 20 11:37 /opt/apps/FTP/jackhome
업데이트 2: sshd_config 파일에 다음과 같은 설정이 있습니다. Jack은 sftponly 그룹에 속해 있습니다. 이것이 그가 rsa 키를 연결할 수 없는 이유일까요?
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
답변1
-v
플래그와 함께 sftp를 사용해 보고 여기에 얻은 내용을 붙여넣으세요. 이 -v
플래그를 사용하면 로깅 수준(세부 정보)이 높아집니다.
예:
sftp -i /home/jack/.ssh/id_rsa -v [email protected]