Ключи SSH продолжают удаляться из виртуальной машины Google Compute Engine - PullRequest
0 голосов
/ 29 ноября 2018

Справочная информация:

  • Я использую виртуальную машину Google Compute Engine, которая называется host.
  • На машине запущен контейнер Docker с именем container.
  • Я подключаюсь к виртуальной машине, используя учетную запись user@gmail.com.
  • Мне нужно подключиться через ssh от container к host, без запроса user пароль.

Проблема:

Через несколько минут после успешного подключения из контейнера к хосту user/.ssh/authorized_keys "модифицируется" некоторым процессом изСам гугл.Насколько я понял, этот процесс добавляет некоторые ssh-ключи, необходимые для подключения к виртуальной машине.Однако в моем случае процесс перезаписывает ключ, который я сгенерировал из контейнера.

Настройка:

Я подключаюсь к host с помощью графического интерфейса Google Compute Engine, нажав на кнопку SSH.

ssh

Затем я следую инструкциям, описанным в этом ответе в AskUbuntu.Я устанавливаю пароль для user на host:

user@host:~$ sudo passwd user

Я устанавливаю PasswordAuthentication на yes в sshd_config и перезагружаю sshd:

user@host:~$ sudo nano /etc/ssh/sshd_config
user@host:~$ sudo systemctl restart sshd

Я вхожу в Docker-контейнер с помощью bash, генерирую ключ и копирую его на хост:

user@host:~$ docker exec -it container /bin/bash
(base) root@container-id:# ssh-keygen
(base) root@container-id:# ssh-copy-id user@host 

Ключ успешно копируется на хост, хост добавляется вknown_hosts файла, и я могу подключиться из контейнера к хосту без запроса пароля (как я дал его во время выполнения ssh-copy-id).

Теперь, если я отсоединяюсь от хостачерез некоторое время и снова присоединяюсь, я обнаружил, что файл user/.ssh/authorized_keys содержит некоторые ключи, сгенерированные Google, но в нет никаких следов моего ключа (тот, который позволяет контейнеру подключаться кhost).

Больше всего меня озадачивает то, что мы последовательно использовали этот процесс раньше, и у нас никогда не было такой проблемы.Некоторые учетные записи на этом же хосте все еще имеют ключи от контейнеров, которых больше не существует!

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

1 Ответ

0 голосов
/ 30 ноября 2018

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

Возможно, вы найдете API входа в ОС более простой вариант управления.После включения вы можете использовать одну команду gcloud или вызов API для добавления ключей SSH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...