sshd_selinux_copy_context: getcon이 실패했습니다. 해당 파일이나 디렉터리가 없습니다(Windows에서 chroot 계정으로의 SFTP).

sshd_selinux_copy_context: getcon이 실패했습니다. 해당 파일이나 디렉터리가 없습니다(Windows에서 chroot 계정으로의 SFTP).

한 대학에서 SFTP 클라이언트와 SSH 비밀번호 없는 로그인을 사용하여 Windows에서 RHEL7 서버로 SFTP를 시도하고 있습니다. 사용자 계정은뿌리 뽑힌서버에서.

openssh 버전은 6.6.1RHEL7 서버에 설치됩니다.

/var/log/secureSFTP 연결 시도가 실패한 후 서버를 확인 하고 다음을 발견했습니다.

Sep 12 17:00:22 serverbox sshd[32652]: Accepted publickey for specialuser from 1.1.1.77 port 58776 ssh2: RSA FINGERPRINT
Sep 12 17:00:22 serverbox sshd[32652]: pam_unix(sshd:session): session opened for user specialuser by (uid=0)
Sep 12 17:00:22 serverbox sshd[32652]: sshd_selinux_copy_context: getcon failed with No such file or directory [postauth]
Sep 12 17:01:18 serverbox sshd[32652]: Received disconnect from 1.1.1.77: 11: disconnected by user [postauth]
Sep 12 17:01:18 serverbox sshd[32652]: pam_unix(sshd:session): session closed for user specialuser

Putty SFTP 또는 Filezilla(둘 다 로컬 개인 키를 사용하도록 구성됨)에서 연결을 시도할 때도 동일한 오류가 발생합니다.

가독성을 위해 getcon 라인은 다음과 같습니다.

sshd_selinux_copy_context: getcon failed with No such file or directory [postauth]

따라서 공개 키가 승인되고 Putty(및 Filezilla SFTP)는 원하는 것을 찾지 못한 후 공개 키를 잃습니다.

권한:

drwxr-xr-x. root root /home/specialuser
drwx------. specialuser sftponly   /home/specialuser/.ssh
drw-------. specialuser sftponly   /home/specialuser/.ssh/authorized_keys

서버의 유효한 공개 키:

[user@server]# ssh-keygen -l -f authorized_keys
2048 sha1:fi:ng:er:pr:in:tt  rsa-key-20160913 (RSA)

나머지 chroot 설정에 대해서는 다음을 확인하십시오.이 답변다른 질문에 글을 올렸습니다.

chroot 계정을 사용하는 SFTP는 Linux 클라이언트에서 제대로 작동합니다.

내 로컬 Linux 시스템(Ubuntu)에서 동일한 사용자 계정을 만들고 specialuser로컬 계정을 id_rsa.pub서버의 에 복사한 후 /home/specialuser/.ssh/authorized_keys문제 없이 SFTP를 사용할 수 있었습니다.

SELinux는 제외됩니다.

문제 해결을 돕기 위해 SELinux를 일시적으로 비활성화했지만 Windows/Putty에서 시도할 때 "getcon failed..."라는 동일한 오류가 계속 표시됩니다.

비밀번호 확인이 활성화된 경우에도 동일한 문제가 발생합니다.

또한 에 대해 일시적으로 PasswordAuthentication을 활성화했지만 specialuser이로 인해 여전히 서버 파일에서 위의 "getcon failed" 오류와 함께 Putty가 종료되었습니다 /var/log/secure.

이 시도를 기록하기 위한 데이터(상세):

Sep 14 10:34:32 serverbox sshd[41228]: Accepted password for specialuser from 1.1.1.77 port 61135 ssh2
Sep 14 10:34:32 serverbox sshd[41228]: pam_unix(sshd:session): session opened for user specialuser by (uid=0)
Sep 14 10:34:32 serverbox sshd[41228]: User child is on pid 41283
Sep 14 10:34:32 serverbox sshd[41228]: Changed root directory to "/home/specialuser" [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: sshd_selinux_copy_context: getcon failed with No such file or directory [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: Starting session: forced-command (config) 'internal-sftp' for specialuser from 1.1.1.77 port 61135 [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: Connection closed by 1.1.1.77 [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: Transferred: sent 1976, received 1728 bytes [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: Closing connection to 1.1.1.77 port 61135 [postauth]
Sep 14 10:34:32 serverbox sshd[41228]: pam_unix(sshd:session): session closed for user specialuser

편집하다

서버에 chroot가 아닌 별도의 사용자를 만들었습니다. 공개/개인 키를 통해 Putty및 서버에 사용할 수 있습니다 Putty SFTP.SSH/SFTP

문제는 도달chroot의 홈 폴더.

부록 1: 기록 데이터LogLevel DEBUG3

https://justpaste.it/ycdi (출력이 이 질문에 허용된 최대 문자 수를 초과합니다.)

sshd_config

Subsystem sftp internal-sftp #added
Match group sftponly
        PasswordAuthentication yes
        ChrootDirectory %h
        AllowTcpForwarding no
        ForceCommand internal-sftp

관련 정보