Справочная информация:
- Я использую виртуальную машину Google Compute Engine, которая называется
host
. - На машине запущен контейнер Docker с именем
container
. - Я подключаюсь к виртуальной машине, используя учетную запись
user@gmail.com
. - Мне нужно подключиться через
ssh
от container
к host
, без запроса user
пароль.
Проблема:
Через несколько минут после успешного подключения из контейнера к хосту user/.ssh/authorized_keys
"модифицируется" некоторым процессом изСам гугл.Насколько я понял, этот процесс добавляет некоторые ssh-ключи, необходимые для подключения к виртуальной машине.Однако в моем случае процесс перезаписывает ключ, который я сгенерировал из контейнера.
Настройка:
Я подключаюсь к host
с помощью графического интерфейса Google Compute Engine, нажав на кнопку 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).
Больше всего меня озадачивает то, что мы последовательно использовали этот процесс раньше, и у нас никогда не было такой проблемы.Некоторые учетные записи на этом же хосте все еще имеют ключи от контейнеров, которых больше не существует!
Кто-нибудь имеет представление об этом поведении?Знаете ли вы о каких-либо решениях, которые позволят мне хранить ключ так долго, как это необходимо?