Назад | Перейти на главную страницу

SSH не использует PublicKey в CentOS 6.3

У меня есть сервер CentOS 6.3 и пользователь с именем ako.
Я использую Kubuntu 12.10 в качестве клиента, и я скопировал свой открытый ключ на сервер, используя ssh-copy-id команда.
Я обновил /etc/ssh/sshd_config файл с этими значениями:

RSAAuthentication yes
PubkeyAuthentication yes
StrictModes yes
PasswordAuthentication no

Но когда я пытаюсь войти на сервер, я получаю эту ошибку:

Permission denied (publickey).

Я без проблем настраивал SSH много раз раньше, но я понятия не имею, почему этот не работает !!

РЕДАКТИРОВАТЬ
Это результат ssh запущен в подробном режиме:

ssh ako@123.456.789.000 -v
OpenSSH_6.0p1 Debian-3ubuntu1, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 123.456.789.000 [123.456.789.000] port 22.
debug1: Connection established.
debug1: identity file /home/ako/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/ako/.ssh/id_rsa-cert type -1
debug1: identity file /home/ako/.ssh/id_dsa type -1
debug1: identity file /home/ako/.ssh/id_dsa-cert type -1
debug1: identity file /home/ako/.ssh/id_ecdsa type -1
debug1: identity file /home/ako/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
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
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
debug1: Host '123.456.789.000' is known and matches the RSA host key.
debug1: Found key in /home/ako/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ako/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/ako/.ssh/id_dsa
debug1: Trying private key: /home/ako/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).

Вы скопировали файл идентификатора из системы с AppArmor к системе с SELinux.
На машине Centos 6.3 выполните либо:

  • restorecon ~/.ssh/authorized_keys
  • chcon unconfined_u:object_r:ssh_home_t:s0 ~/.ssh/authorized_keys

В итоге контекст должен выглядеть так.

ls -Z .ssh / authorized_keys
-rw -------. пользователь пользователь unlimited_u: object_r: ssh_home_t: s0 .ssh / authorized_keys

Вы можете запустить свой ssh ​​в подробном режиме, чтобы увидеть подробности ... Похоже, вы подключаетесь как другой пользователь ... "ako"

Проверьте права доступа к домашнему каталогу пользователя «ako» в целевой системе. ssh-copy-id хотя должен был сделать это за вас.

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys