Вход в открытый ключ 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-agent не работает должным образом
  • Настройте SSH, чтобы спросить мою личную ключевую фразу в оболочке (не в окне)
  • Как я могу предупредить ssh-agent при использовании определенного ключа?
  • можно ли запускать `ssh-add <key>` только тогда, когда я ssh в поле? (от Cygwin)
  • константа "введите кодовую фразу для открытого ключа" ssh
  • Как организовать ключи SSH?
  • Нельзя использовать ключ OpenPGP, экспортированный из GnuPG с SSH
  • использование 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

    Отменить перемещение букв с помощью sed

    Как установить задание Cron, которое выполняется каждые три часа в течение неопределенного периода времени; с регистрацией?

    Как конденсировать подкаталоги

    Обнаружение состояния power_supply для другого устройства в правиле udev

    Различные результаты OS X / Linux с «find PATH -mount \ (-type f -o-type d \) -print0 | LC_ALL = C sort –zero-terminated> OUTPUT.txt "

    Почему этот скрипт запрашивает пароль?

    Кто-нибудь, пожалуйста, объяснит вывод lspci -vv?

    Как включить параметр ядра MMC_UNSAFE_RESUME

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

    сравнение двух файлов по строкам

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

    BCM2046 Bluetooth для новых 8,3 MacBook Pro

    Удалить файл с именем `in name

    Linux Сетевая маршрутизация на виртуальные IP-адреса из другой подсети

    Не удается подключиться к Интернету после изменения MAC-адреса.

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