Может соединиться с существующим ключом SSH, но не с новым - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь предоставить доступ к виртуальной машине GCE, добавив ключи SSH к метаданным проекта.Мой текущий ключ SSH находится в метаданных проекта, и я могу подключиться просто отлично , используя:

ssh -i ~/.ssh/<private_key> <username>@<instance_ip>

Теперь я сгенерировал другой ключ:

ssh-keygen -t rsa -f ~/.ssh/<new_key> -C <new_username>

После добавлениясгенерированный открытый ключ к метаданным проекта, затем я запускаю:

ssh -i ~/.ssh/<new_private_key> <new_username>@<instance_ip>

Но я получаю Permission denied (publickey,gssapi-keyex,gssapi-with-mic). Запуск с флагом -vvv не показывает мне ничего, кроме отклоненного ключа.

Вещи, которые я знаю / проверено :

  • Брандмауэр не проблема, потому что я могу подключиться, используя свой оригинальный ключ из того же места
  • , экземпляр работаетSSH (при запуске nc <instance_nat_ip> 22 отображается «OpenSSH» и т. Д.)
  • при генерации любого ключа SSH не использовались парольные фразы
  • нет никаких ограничений на уровне экземпляра для метаданных всего проекта
  • нет уже добавленных ssh-ключей уровня экземпляра
  • нет новых строк / разрывов, приводящих к искажению ключа
  • разрешения для ~./ssh не являются проблемой, поскольку другиепара ключей отлично работает из одного каталога, кроме того, оба ключав любом случае пары имеют одинаковые права доступа
  • OSLogin не включен ни в проекте, ни в экземпляре

То, что я пробовал :

  • удаление и чтение ключей SSH в метаданных проекта
  • попытка сгенерировать новые пары ключей на компьютере другого пользователя
  • перезапуск службы sshd

Вопросы:

  • Должно ли имя пользователя, указанное на шаге ssh-keygen, уже существовать в удаленном экземпляре до добавления ключа в метаданные?т.е. нужно ли мне запускать sudo useradd <new_username> пока SSH'd в экземпляр Создание нового тестового экземпляра показало, что это не так, все пользователи в метаданных проекта были созданы автоматически
  • почему мойсуществующие ключи SSH, а не новые, даже если они добавляются одинаково?
  • есть вероятность, что enable-oslogin:TRUE был применен к экземпляру недолго назад (я не уверен, так как яне тот, кто создал экземпляр), но его больше нет в метаданных экземпляра или проекта.Приведет ли это, даже на короткое время, к возникновению некоторых проблем?

РЕДАКТИРОВАТЬ : я запустил новый экземпляр в том же проекте с теми же данными сети и смогSSH к этому экземпляру, используя новый ключ.Оригинальный экземпляр по-прежнему отказывается от ключа

1 Ответ

0 голосов
/ 25 февраля 2019

Немного покопался и обнаружил, что служба systemd, которая распространяет информацию об учетных записях с сервера метаданных, является демоном по имени google-accounts-daemon.

Когда я запустил sudo ps aux | grep daemon, я не увидел, как он работает, как на тестовом экземпляре, который я создал.

Поэтому, когда я запустил sudo systemctl restart google-accounts-daemon, ключи SSH магически распространились, и все заработало.

Я понятия не имею, что заставило демона вообще перестать работать, поэтому, если у кого-то есть идеи, это будет оценено, если это произойдет в будущем.

...