Quando eu ssh da minha caixa (Arch Linux) para uma caixa remota (servidor Fedora) usando uma chave, ele funciona com um usuário (user1), mas não com user2. Ambos os usuários usam a mesma chave ssh: aquela na pasta inicial do user2 ssh. ( /home/user2/.ssh/id_rsa
com os modos corretos).
No host remoto, ambos os usuários têm um diretório inicial com o mesmo arquivo ~/.ssh/authorized_keys
.
EDITAR
Como por solicitação, algum arquivo de configuração:
No host remoto :
/etc/ssh/sshd_config
Port XXXX
Allowusers user1 user2
PermitRootLogin without-password
#PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#HostbasedAuthentication no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
$ journalctl -u sshd
Accepted publickey for user1 from XX.YY.XX.YY port XXXX ssh2: RSA SHA256:WT722lmf2CkXC8T6hGScDl+wZW71Ls3/U2W8FHh+vK4 <-- when connecting as user1
Connection closed by authenticating user user2 XX:YY:XX:YY port XXX [preauth] <-- when connecting as user2
user2 (sem trabalho) dir home:
ls -la /home/user2
drwx------. 2 user2 user 4.0K Jan 31 19:18 .ssh/
ls -la /home/user2/.ssh
-rw-------. 1 user2 user2 393 Jan 31 18:12 authorized_keys
Selinux habilitado no servidor (padrão para o fedora). Por favor, note que user1 é o usuário padrão existente quando o servidor é novo e user2 foi adicionado por mim mesmo.
user1 (trabalhando)
ls -Za /home/user1
unconfined_u:object_r:ssh_home_t:s0 .ssh/
ls -Za /home/user1/.ssh
unconfined_u:object_r:ssh_home_t:s0 ./ unconfined_u:object_r:user_home_dir_t:s0 ../ unconfined_u:object_r:ssh_home_t:s0 authorized_keys
user2 (não funciona)
ls -Za /home/user2
unconfined_u:object_r:unlabeled_t:s0 .ssh/
ls -Za /home/user2/.ssh
unconfined_u:object_r:unlabeled_t:s0 ./ unconfined_u:object_r:user_home_dir_t:s0 ../ unconfined_u:object_r:unlabeled_t:s0 authorized_keys
diff: r: sem rótulo vs r: ssh_home _
Na caixa local :
user2@hortensia ➤➤ ~ % ls -al .ssh
-rw------- 1 user2 user2 1.8K Jan 16 18:19 id_rsa
-rw------- 1 user2 user2 396 Jan 16 18:19 id_rsa.pub
user2@hortensia ➤➤ ~ % ls -al
drwx------ 2 user2 user2 4.0K Feb 1 08:06 .ssh/
Não consigo descobrir por que o ssh está trabalhando para o usuário1 e não para o usuário2.
No host remoto, parei sshguard e iptables , mas isso não muda nada. O sshd_config é muito básico, tem uma linha Allowusers com user1 e user2 e permite a conexão com a chave.
Ao executar o ssh no modo detalhado, posso ver a diferença na mensagem quando o usuário1 ou o usuário2 se conectam.
user1
$ ssh -vv -p XX [email protected]
....................
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:WT722lmf2CkXC8T6hGScDl+wZW71Ls3/U2W8FHh+vK4 /home/user2/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug2:input_userauth_pk_ok:SHA256:WT722lmf2CkXC8T6hGScDl+wZW71Ls3/U2W8FHh+vK4
debug1: Authentication succeeded (publickey).
Authenticated to XX.YY.XX.YY ([XX.YY.XX.YY]:XXXX).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug2: channel 0: request shell confirm 1
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Last login: Thu Feb 1 07:08:04 2018 from XX.YY.XX.YY
[user1@dahlia ~]$
Agora, ao se conectar ao usuário2
$ ssh -vv -p XX [email protected]
...........
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:WT722lmf2CkXC8T6hGScDl+wZW71Ls3/U2W8FHh+vK4 /home/user2/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /home/user1/.ssh/id_dsa
debug1: Trying private key: /home/user1/.ssh/id_ecdsa
debug1: Trying private key: /home/user1/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Após mais de um dia, ainda não consigo corrigir esse erro. Obrigado por ajuda / dicas.