Рейтинг:0

Невозможно войти по ssh во вновь созданную виртуальную машину (с ключом, использованным при создании)

флаг cn

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

Это отлично работает для моих коллег, которые все работают на Linux/Windows. Я на Mac (Monterey 12.3). Он выходит из строя либо на моем родном Mac, либо на виртуальной машине Linux, работающей на моем Mac. Симптомы (имена/IP-адреса изменены для защиты виновных):

bozo$ ssh -v user@new_ip

ssh -v [email protected]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 января 2017 г.
debug1: Чтение данных конфигурации /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 58: Применение параметров для *
debug1: подключение к порту 22 10.333.80.223 [10.333.380.223].
отладка1: соединение установлено.
debug1: файл идентификации /home/me/.ssh/id_rsa тип 1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_rsa-cert type -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_dsa тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_dsa-cert type -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_ecdsa тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_ed25519 тип -1
debug1: key_load_public: нет такого файла или каталога
debug1: файл идентификации /home/me/.ssh/id_ed25519-cert type -1
debug1: включение режима совместимости для протокола 2.0
debug1: строка локальной версии SSH-2.0-OpenSSH_7.4
debug1: удаленный протокол версии 2.0, удаленная версия программного обеспечения OpenSSH_7.4
debug1: соответствие: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug1: Аутентификация на 10.333.380.223:22 как «я»
debug1: SSH2_MSG_KEXINIT отправлен
debug1: SSH2_MSG_KEXINIT получен
debug1: kex: алгоритм: curve25519-sha256
debug1: kex: алгоритм ключа хоста: ecdsa-sha2-nistp256
debug1: kex: server->client шифр: [email protected] MAC: <неявное> сжатие: нет
debug1: kex: client->server шифр: [email protected] MAC: <неявное> сжатие: нет
debug1: kex: curve25519-sha256 нужно = 64 dh_need = 64
debug1: kex: curve25519-sha256 нужно = 64 dh_need = 64
debug1: ожидается SSH2_MSG_KEX_ECDH_REPLY
debug1: ключ хоста сервера: ecdsa-sha2-nistp256 SHA256:P95KW1jM38eMCM172VHOjR5DY58Oo0qbgs1ZnZHwY+U
debug1: Хост «10.333.380.223» известен и соответствует ключу хоста ECDSA.
debug1: найден ключ в /home/me/.ssh/known_hosts:1
debug1: сменить ключ после 134217728 блоков
debug1: SSH2_MSG_NEWKEYS отправлено
debug1: ожидается SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS получен
debug1: сменить ключ после 134217728 блоков
debug1: SSH2_MSG_EXT_INFO получен
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT получен
debug1: Аутентификации, которые могут продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: следующий метод аутентификации: gssapi-keyex
debug1: нет допустимого контекста обмена ключами
debug1: следующий метод аутентификации: gssapi-with-mic
debug1: Неизвестный сбой GSS. Второстепенный код может предоставить дополнительную информацию
Нет доступных учетных данных Kerberos (кеш по умолчанию: KEYRING:persistent:1001)

debug1: Неизвестный сбой GSS. Второстепенный код может предоставить дополнительную информацию
Нет доступных учетных данных Kerberos (кеш по умолчанию: KEYRING:persistent:1001)

debug1: следующий метод аутентификации: открытый ключ
debug1: Предлагается открытый ключ RSA: /home/me/.ssh/id_rsa
debug1: Аутентификации, которые могут продолжаться: publickey, gssapi-keyex, gssapi-with-mic
debug1: Попытка закрытого ключа: /home/me/.ssh/id_dsa
debug1: Попытка закрытого ключа: /home/me/.ssh/id_ecdsa
debug1: Попытка закрытого ключа: /home/me/.ssh/id_ed25519
debug1: больше нет способов проверки подлинности.
Отказано в доступе (publickey,gssapi-keyex,gssapi-with-mic).

Обратите внимание, что разрешения на мои .ssh, id_rsa.pub, id_rsa и .. все правильные.

[jump_me@localhost .ssh]$ ls -ld id_rsa id_rsa.pub . ..
drwx------. 2 мне мне 73 мар 21 22:25 .
drwx------. 4 меня меня 4096 21 мар 22:24 ..
-rw-------. 1 меня меня 1675 19 фев 2019 id_rsa
-rw-r--r--. 1 меня меня 400 19 фев 2019 id_rsa.pub

также обратите внимание, что единственный способ войти — использовать предварительно созданные ключи ssh. Нет доступного имени пользователя/пароля, поэтому вы не можете войти в систему, чтобы что-либо изменить на виртуальной машине.

Идеи?

dave_thompson_085 avatar
флаг jp
Ваш клиент предлагает ключ, но сервер его не принимает. Попробуйте `diff
флаг cn
Спасибо, Дэйв. Разница возвращается чистой (код возврата 0) и да, с использованием правильного подготовленного пользователя. Имя пользователя в ключе, конечно, не совпадает с предоставленным именем пользователя, но это потому, что оно совпадает с именем пользователя на клиенте.
dave_thompson_085 avatar
флаг jp
Тогда я в растерянности. Посмотрите, может ли кто-нибудь посмотреть в журналах сервера какие-либо указания, почему ему не нравится ваш ключ, хотя sshd обычно не записывает много :-(

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.