Разрешение ssh отклонено с удаленного хоста

Когда я отправляю ssh из своего ящика (Arch Linux) на удаленный ящик (сервер Fedora) с помощью ключа, он работает с одним пользователем (user1), но не с user2. Оба пользователя используют один и тот же ключ ssh: тот, что находится в домашней папке ssh user2. ( /home/user2/.ssh/id_rsa с правильными режимами).

На удаленном хосте у обоих пользователей есть домашний каталог с одним и тем же файлом ~ / .ssh / authorized_keys .

РЕДАКТИРОВАТЬ

По запросу, некоторый файл конфигурации:

На удаленном хосте :

/ 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 (нерабочий) домашний каталог:

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 включен на сервере (по умолчанию для Fedora). Обратите внимание, что user1 является существующим пользователем по умолчанию, когда сервер новый, а user2 был добавлен мной.

user1 (рабочий)

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 (неработающий)

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: unlabeled vs r: ssh_home_

В локальном ящике :

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/

Я не могу понять, почему ssh работает для пользователя user1, а не user2. На удаленном хосте я остановил sshguard и iptables , но это ничего не меняет. sshd_config очень простой, имеет строку Allowusers с user1 и user2 и разрешает соединение с ключом. При запуске ssh в подробном режиме я вижу разницу в сообщении при подключении user1 или user2.

user1

 $ ssh -vv -p XX user1@XX.YY.XX.YY
 ....................
 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 no-more-sessions@openssh.com
 debug1: Entering interactive session.
 debug1: pledge: network
 debug1: client_input_global_request: rtype hostkeys-00@openssh.com 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 ~]$

Теперь при подключении к user2

$ ssh -vv -p XX user2@XX.YY.XX.YY
...........
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.
user2@XX.YY.XX.YY: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Спустя более одного дня я все еще не могу исправить это ошибка. Спасибо за помощь / подсказки.

1
задан 1 February 2018 в 11:44
1 ответ

Npụta gị ls -l na-egosi na mgbakwunye na ikikere nkịtị selinux concepts are setịpụrụ:

ls -la /home/user2/.ssh
-rw-------. 1 user2 user2   393 Jan 31 18:12 authorized_keys
          ^ this dot indicates additional selinux contextes

Your ls -Z output na egosi na pịnye ụdị nke ndekọ gị .ssh na faịlị ndị dị na ya ka atọrọ ka unlabeled_t :

ls -Za /home/user2/.ssh
unconfined_u:object_r:unlabeled_t:s0 ./

Ọnọdụ a ka a ga- ya.

Gbaa

chcon -R -t ssh_home_t .ssh

iji tọọ onodu recursively na .ssh ndekọ.

1
ответ дан 3 December 2019 в 23:20

Теги

Похожие вопросы