Я начал с коробки в Google Compute Engine (облачной службе Google) с учетной записью с именем xyz и эфемерным IP-адресом.
Давайте представим, что эфемерный IP-адрес был 2.3.4.5.
Прежде чем начать процесс, описанный ниже, я смог войти на xyz@2.3.4.5 с паролем.
Затем я прикрепил статический IP-адрес. Давайте представим, что статический IP-адрес был 1.2.3.4.
Я тогда набрал
my@localbox:~$ ssh-copy-id xyz@1.2.3.4
Команда как будто зависает, поэтому я убил терминал.
Я тогда сделал простой
my@localbox:~$ ssh xyz@1.2.3.4
Что удалось, не запрашивая у меня пароль.
Я предположил, что мой ключ попал в мои авторизованные ключи, поэтому я сделал
xyz@cloudbox:~$ ls -al
К моему удивлению, .ssh содержал только файл known_hosts, а не файл author_keys.
Кроме того, команда
my@localbox:~$ ssh-copy-id xyz@1.2.3.4
все еще зависает, когда я пытаюсь это сделать, так что это была не случайная случайность.
Как я могу войти в эту учетную запись без пароля, если нет файла .ssh/authorized_keys? Это связано с причиной зависания ssh-copy-id?