Вход в открытый ключ SSH: два разных ключа и поведение SSH_AUTH_SOCK

Пользователь ( user1 ) на рабочем столе Ubuntu 12.04 имеет два ~/.ssh/id_rsa ключа RSA: ~/.ssh/id_rsa и ~/.ssh/id_rsa1.pub файлы). Оба открытых ключа настраиваются в авторизованных ключах на учетной записи сервера ( user1@myserver ).

При входе в систему на рабочем столе (клиентском компьютере) и использовании терминала Gnome вход в систему на сервере с использованием любых ключей работает нормально:

  • Неинтерактивная оболочка расширяет псевдоним
  • Как создать пользователя SSH, который может обращаться только к MySQL?
  • Требуется ли файл id_rsa.pub на стороне клиента?
  • Как скопировать каталоги через ssh
  • Маршрутизаторы Flash OpenWrt от Telnet
  • настроить SSH на Linux для входа в систему без пароля
    • ssh user1@myserver неявно выбирает /home/user1/.ssh/id_rsa
    • ssh -f /home/user1/.ssh/id_rsa1 user1@myserver также работает.

    Если вместо входа в систему через рабочий стол Gnome я запишусь на клиентскую машину через SSH с другого хоста (или даже с localhost ) или с помощью su , использование /home/user1/.ssh/id_rsa больше не работает.

    Кажется, что это связано с SSH_AUTH_SOCK (отсутствует первоначально в среде, настроенной с помощью SSH-соединения с клиентом). Если я установил его как значение, видимое в сеансе рабочего стола /tmp/keyring-xxxxxxxxxxx/ssh , вход в систему с id_rsa снова прекрасен.

    Если я SSH_AUTH_SOCK (чтобы сделать id_rsa с id_rsa снова) и скопируйте id_rsa1 в id_rsa.pub файлы), теперь он работает с id_rsa .

    Что может объяснить разницу в поведении между этими двумя ключевыми парами и их взаимодействие с SSH_AUTH_SOCK ?

    Я ничего не вижу в журналах сервера.

    Вот фрагмент журналов клиента SSH, перед тем как он отличается:

     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 debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /home/user1/.ssh/id_rsa (0x7f6b7059b260) debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/user1/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply 

    Вслед за этим, когда это не работает для этого пользователя / ключа:

     debug1: Authentications that can continue: publickey,password debug2: we did not send a packet, disable method 

  • Weird вывод при использовании ssh внутри цикла над файлом
  • Кронтаб с SVN и Git
  • Альтернатива имени хоста для системного bashrc
  • Маршрутизаторы Flash OpenWrt от Telnet
  • Как удалять команды sudo удаленно через ssh -t?
  • Добавить строку, используя Sed на удаленной системе
  • 2 Solutions collect form web for “Вход в открытый ключ SSH: два разных ключа и поведение SSH_AUTH_SOCK”

    Оказывается, что ключ, который не работал, не был настроен должным образом в файле authorized_keys . Извини за это…

    Я ошибочно предположил, что ssh -i /home/user1/.ssh/id_rsa user1@myserver является индикатором того, что он настроен правильно, но это оказывается не так. Он также использует другие ключи. Принуждение ssh -i /home/user1/.ssh/id_rsa -oIdentitiesOnly=yes user1@myserver приводит к сбою с неправильной конфигурацией.

    Я полагаю, что агент SSH, настроенный при входе в систему с Gnome, также забирает другие ключи в каталоге ~/.ssh/ , что заставляет его работать с этим другим ключом, даже если неправильный ключ указан с -i .

    На самом деле я не использую gnome, но, скорее всего, он пытается связаться с ssh-agent (или даже запускать для вашего удобства).

    Вы не указали, являются ли ваши ключи без пароля.

    Другие вещи, которые МОГУТ ошибиться в копии, – это разрешения на a) user2's / home, b) их .ssh или c) файл authorized_keys.

    Linux и Unix - лучшая ОС в мире.