2017-03-14 1 views
0

CentOS 6.8에서 SSH 서버에 대한 공개 키 인증을 설정하는 데 문제가 있습니다. 이상한 점은 postgres 사용자로 로그인 할 때 잘 돌아 간다지만, 바텐더를 설치하여 자동으로 생성되는 '바텐더'사용자로 로그인하면 항상 비밀번호가 필요하다는 것입니다.SSH 공개 키 인증이 특수 사용자 만 작동하지 않습니다.

'postgres'사용자의 홈 디렉토리와 바텐더 사용자의 홈 디렉토리가 같은 폴더에 있습니다. 나는 문제가 sshd 설정과 아무 관계가 없다고 생각하고 바텐더의 홈 경로, .ssh 경로, authorized_keys의 권한을 모두 postgres와 동일하게 설정하려고 시도했다. 하지만 여전히 작동하지 않습니다.

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 
    debug1: Reading configuration data /etc/ssh/ssh_config 
    debug1: Applying options for * 
    debug2: ssh_connect: needpriv 0 
    debug1: Connecting to localhost [::1] port 22. 
    debug1: Connection established. 
    debug3: Not a RSA1 key file /var/lib/barman/.ssh/id_rsa. 
    debug2: key_type_from_name: unknown key type '-----BEGIN' 
    debug3: key_read: missing keytype 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug3: key_read: missing whitespace 
    debug2: key_type_from_name: unknown key type '-----END' 
    debug3: key_read: missing keytype 
    debug1: identity file /var/lib/barman/.ssh/id_rsa type 1 
    debug1: identity file /var/lib/barman/.ssh/id_rsa-cert type -1 
    debug1: Remote protocol version 2.0, remote software version     OpenSSH_5.3 
    debug1: match: OpenSSH_5.3 pat OpenSSH* 
    debug1: Enabling compatibility mode for protocol 2.0 
    debug1: Local version string SSH-2.0-OpenSSH_5.3 
    debug2: fd 3 setting O_NONBLOCK 
    debug1: SSH2_MSG_KEXINIT sent 
    debug3: Wrote 960 bytes for a total of 981 
    debug1: SSH2_MSG_KEXINIT received 
    debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-  sha1,diffie-hellman-group1-sha1 
    debug2: kex_parse_kexinit: [email protected],ssh-dss-  [email protected],[email protected],[email protected],ssh-rsa,ssh-dss 
    debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-  ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
    debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
    debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
    debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
    debug2: kex_parse_kexinit: none,[email protected],zlib 
    debug2: kex_parse_kexinit: none,[email protected],zlib 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: first_kex_follows 0 
    debug2: kex_parse_kexinit: reserved 0 
    debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 
    debug2: kex_parse_kexinit: ssh-rsa,ssh-dss 
    debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
    debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
    debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-  sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
    debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
    debug2: kex_parse_kexinit: none,[email protected] 
    debug2: kex_parse_kexinit: none,[email protected] 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: first_kex_follows 0 
    debug2: kex_parse_kexinit: reserved 0 
    debug2: mac_setup: found hmac-md5 
    debug1: kex: server->client aes128-ctr hmac-md5 none 
    debug2: mac_setup: found hmac-md5 
    debug1: kex: client->server aes128-ctr hmac-md5 none 
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent 
    debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
    debug3: Wrote 24 bytes for a total of 1005 
    debug2: dh_gen_key: priv key bits set: 139/256 
    debug2: bits set: 514/1024 
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
    debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
    debug3: Wrote 144 bytes for a total of 1149 
    debug3: check_host_in_hostfile: host localhost filename /var/lib/barman/.ssh/known_hosts 
    debug3: check_host_in_hostfile: host localhost filename /var/lib/barman/.ssh/known_hosts 
    debug3: check_host_in_hostfile: match line 1 
    debug1: Host 'localhost' is known and matches the RSA host key. 
    debug1: Found key in /var/lib/barman/.ssh/known_hosts:1 
    debug2: bits set: 523/1024 
    debug1: ssh_rsa_verify: signature correct 
    debug2: kex_derive_keys 
    debug2: set_newkeys: mode 1 
    debug1: SSH2_MSG_NEWKEYS sent 
    debug1: expecting SSH2_MSG_NEWKEYS 
    debug3: Wrote 16 bytes for a total of 1165 
    debug2: set_newkeys: mode 0 
    debug1: SSH2_MSG_NEWKEYS received 
    debug1: SSH2_MSG_SERVICE_REQUEST sent 
    debug3: Wrote 48 bytes for a total of 1213 
    debug2: service_accept: ssh-userauth 
    debug1: SSH2_MSG_SERVICE_ACCEPT received 
    debug2: key: /var/lib/barman/.ssh/id_rsa (0x7f6ef1fcc740) 
    debug3: Wrote 64 bytes for a total of 1277 
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password 
    debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password 
    debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password 
    debug3: authmethod_lookup gssapi-keyex 
    debug3: remaining preferred: gssapi-with-mic,publickey,keyboard-interactive,password 
    debug3: authmethod_is_enabled gssapi-keyex 
    debug1: Next authentication method: gssapi-keyex 
    debug1: No valid Key exchange context 
    debug2: we did not send a packet, disable method 
    debug3: authmethod_lookup gssapi-with-mic 
    debug3: remaining preferred: publickey,keyboard-interactive,password 
    debug3: authmethod_is_enabled gssapi-with-mic 
    debug1: Next authentication method: gssapi-with-mic 
    debug3: Trying to reverse map address ::1. 
    debug1: Unspecified GSS failure. Minor code may provide more information 
    Credentials cache file '/tmp/krb5cc_498' not found 

    debug1: Unspecified GSS failure. Minor code may provide more information 
    Credentials cache file '/tmp/krb5cc_498' not found 

    debug1: Unspecified GSS failure. Minor code may provide more information 


    debug1: Unspecified GSS failure. Minor code may provide more information 
    Credentials cache file '/tmp/krb5cc_498' not found 

    debug2: we did not send a packet, disable method 
    debug3: authmethod_lookup publickey 
    debug3: remaining preferred: keyboard-interactive,password 
    debug3: authmethod_is_enabled publickey 
    debug1: Next authentication method: publickey 
    debug1: Offering public key: /var/lib/barman/.ssh/id_rsa 
    debug3: send_pubkey_test 
    debug2: we sent a publickey packet, wait for reply 
    debug3: Wrote 368 bytes for a total of 1645 
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password 
    debug2: we did not send a packet, disable method 
    debug3: authmethod_lookup password 
    debug3: remaining preferred: ,password 
    debug3: authmethod_is_enabled password 
    debug1: Next authentication method: password 
    [email protected]'s password: 
+0

아마도 엄격 모드와 관련이 있습니다. 'barman'위의 폴더가 그룹/세계에 액세스 할 수있는 경우 sshd는이를 좋아하지 않을 수 있습니다. – Wukerplank

+0

Barman과 postgres는 같은 폴더에 있지만 postgres에는 이러한 문제가 없습니다. – Veetase

답변

2

사용자의 홈 디렉토리 안에 인의 authorized_keys 파일이 잘못된 상황이 있습니다 이 내가 실행 ssh localhost -vvv 후 무엇을 얻을 수 있습니다. 이 예제에서 파일의 컨텍스트는 "unconfined_u : object_r : httpd_sys_content_t : s0"입니다. sshd가 실행되는 컨텍스트가이 컨텍스트에 액세스 할 수 없으므로 SELinux가 파일에 대한 액세스를 거부합니다. 파일에 대한 액세스가 없으면 키 인증이 실패합니다. 다음 명령을 실행하여 재설정하십시오.

chcon -R unconfined_u:object_r:user_home_t:s0 /path/to/users/homedirectory/.ssh/ 
관련 문제