Adding instance-level public SSH keys to GCE instance

Per Managing SSH keys in Metadata | Compute Engine Documentation | Google Cloud, I edited instance-level public SSH key metadata by adding my public key (in following format):

ssh-rsa [KEY_VALUE] [USERNAME]

yet cannot connect.

/var/log/auth.log:

Apr 18 15:24:19 web0 sshd[5080]: Invalid user staging from X.X.X.X port 52403
Apr 18 15:24:19 web0 sshd[5080]: input_userauth_request: invalid user XXX [preauth]
Apr 18 15:24:19 web0 sshd[5080]: error: Received disconnect from X.X.X.X port 52403:14: No supported authentication methods available [preauth]
Apr 18 15:24:19 web0 sshd[5080]: Disconnected from X.X.X.X port 52403 [preauth]

Please advise.

0
задан 19 April 2018 в 17:42
1 ответ

Когда вы создаете пару закрытого / открытого ключей с помощью следующей команды:

ssh-keygen -t rsa -C "your_email@example.com"

Ваш адрес электронной почты уже должен присутствовать в сгенерированном файле открытого ключа (обычно называется id_rsa .pub по умолчанию).

Поэтому вам нужно только скопировать содержимое этого файла и вставить его прямо в раздел экземпляра ssh-keys в консоли. Итак, да, формат, который вы написали, верен, но самый надежный способ убедиться, что вы вводите его правильно, - это скопировать его прямо из файла открытого ключа.

Один из методов проверки того, что вы ввели открытый ключ в Экземпляр SSH-ключи предназначен для проверки того, что ваше имя пользователя отображается слева от поля, в которое вы вставляете открытый ключ, как показано в вашей связанной статье.

Если он не появляется, это может указывать на неправильный формат ключа. Если это так, я бы посоветовал проверить, нет ли новых строк во вставленном ключе. Вы должны иметь возможность поместить курсор в начало вставленного ключа в поле и нажимать клавишу со стрелкой вправо от начала до конца. Если есть какие-либо новые строки, удалите их, чтобы ключ был непрерывным.

Если ничего из вышеперечисленного не имеет отношения к делу, будет полезна дополнительная информация. Откуда вы пытаетесь подключиться? Кроме того, какую команду вы используете для подключения к экземпляру?

РЕДАКТИРОВАТЬ:

Поскольку пользователь с ключом SSH не отображается в файле / etc / passwd,это говорит о том, что вполне возможно, что соответствующие службы гостевой среды Linux не работают, что, в свою очередь, означает, что метаданные не передаются экземпляру. Я считаю, что за эту проблему может быть ответственен демон Compute Engine Accounts Daemon в гостевой среде Linux.

Вы можете попробовать запустить следующую команду, чтобы проверить, активна ли она:

sudo systemctl list-units --all | grep google 

Если она не активна / не установлена, есть кое-что полезное информация здесь о том, как запустить службы или установить гостевую среду Linux, если она еще не установлена ​​на экземпляре.

0
ответ дан 5 December 2019 в 06:09

Теги

Похожие вопросы