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

SSH-соединение с открытым ключом RSA

В нашей корпоративной сети у меня следующая конфигурация:

Клиент: (artur@lothlorien.isd)

/ и т.д. / ssh / ssh_config:

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Права доступа к файлам:

artur@lothlorien:~$ ls -la ~/.ssh | grep "authorized_keys"
-rw-------  1 artur artur  407 чер  4 10:11 authorized_keys
artur@lothlorien:~$ ls -la ~ | grep ".ssh"
drwx------  2 artur artur   4096 чер  4 10:33 .ssh

Больше:

/ proc / версия:

Linux version 3.5.0-32-generic (buildd@akateko) (gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) ) #53-Ubuntu SMP Wed May 29 20:23:04 UTC 2013

Сервер: (isd_programmer@server.isd)

/ proc / версия:

Linux version 2.6.38-16-server (buildd@batsu) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #67-Ubuntu SMP Thu Sep 6 18:15:24 UTC 2012

Подключение:

artur@lothlorien:~$ ssh isd_programmer@server.isd -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 server.isd [192.168.1.201] port 22.
debug1: Connection established.
debug1: identity file /home/artur/.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/artur/.ssh/id_rsa-cert type -1
debug1: identity file /home/artur/.ssh/id_dsa type -1
debug1: identity file /home/artur/.ssh/id_dsa-cert type -1
debug1: identity file /home/artur/.ssh/id_ecdsa type -1
debug1: identity file /home/artur/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 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: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA bf:55:f2:57:f1:8e:c9:cf:a1:3f:f8:d0:81:6b:d4:7d
debug1: Host 'server.isd' is known and matches the ECDSA host key.
debug1: Found key in /home/artur/.ssh/known_hosts:1
debug1: ssh_ecdsa_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,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/artur/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/artur/.ssh/id_dsa
debug1: Trying private key: /home/artur/.ssh/id_ecdsa
debug1: Next authentication method: password
isd_programmer@server.isd's password:

На мой взгляд, Corect настроен, но почему я получаю запрос на ввод пароля?

UPD (07.06.2013, 07:05:12): нашел в sudo less -500 /var/log/auth.log:

Authentication refused: bad ownership or modes for directory /var/www

/var/www домашний каталог для isd_programmer@server.isd

На ум приходит несколько причин:

  • Сервер настроен так, чтобы не разрешать аутентификацию по ключу
  • Клиентский хост либо не в hosts.allow или является в hosts.deny
  • Клиент-пользователь не является разрешенный пользователь ssh
  • Разрешения предотвращают authorized_keys от чтения (проверьте все родительские каталоги)
  • Разрешения слишком широки для authorized_keys (файл и все родительские каталоги не должны быть доступны для записи никому, кроме root и желаемый пользователь).
  • ключ не совпадает

Причин больше, это те, которые сразу пришли в голову. Помните, что этот сайт посвящен решению проблем для все, а не подбирать ответы на ваш конкретный сервер.

Решил эту проблему сам. /var/www имеет права:

drwxrwxr-x 112 isd_programmer www-data    4096 2013-06-07 10:24 www

Я не могу изменить разрешения, так как в www-data группа, которым нужен доступ к этой папке. Но StrictModes в /etc/ssh/sshd_config был установлен на да (дефолт). Поэтому я изменил его на нет и перезапустил sshd: sudo restart ssh.

Вы пропустили закрытый ключ в Client: (artur@lothlorien.isd).

В artur@lothlorien.isd, место id_rsa в /home/artur/.ssh/ чтобы SSH работал.