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

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

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

  • 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 

  • Как ssh-агент автозапущен?
  • ssh-agent не запускается на рабочем столе OpenSuSE
  • Случайно исказил кучу имен файлов в / tmp ... ssh-ключи, запрашивающие пароли
  • Запускать ssh-agent 24/7 с помощью брелка?
  • ssh-agent и таймаут
  • Избегайте отдельного добавления ключей ssh ​​(с паролем) в сеансы оболочки
  • использование ssh-agent
  • Подсистема Windows для linux - поделиться ssh-agent?
  • 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.

    Interesting Posts

    Есть ли способ предоставить «переопределения» для записи terminfo?

    Проблема с обновлением Gentoo 3.8.13 x86_64

    Невозможно использовать репозитории yum, независимо от того, с базовым или зеркальным списком в CentOS 6.5

    Rsync удаляет файлы в старом каталоге?

    Способы конвертировать и комбинировать файлы изображений в файл PDF?

    Как я могу сделать bash не соответствовать `.` и` ..` с `. *`

    Разбор строки с несколькими специальными символами звездочки

    Проблема подключения к L2TP VPN

    chown все файлы на основе шаблона имени файла в текущем каталоге

    Команды, которые я могу использовать, чтобы определить, кто вошел в систему на определенном терминале?

    псевдоним для 'emacs / usr / local / nagios / etc / objects'

    Ethernet-соединение не работает на Ubuntu 14.04 (с двойной загрузкой Windows 10)

    Как вы находите, какие ключи являются символами «стереть» и «убить строку» в Ubuntu?

    Очистить историю оболочек и крошей в Chrome OS

    Измените пароль в файловой системе LUKS, не зная пароля

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