Так же, как этот парень , я начал получать сообщение об ошибке при попытке добавить ключи ssh:
Поставленный отпечаток пальца не соответствует текущему отпечатку метаданных
Я получаю эту ошибку, когда пытаюсь добавить ключи к
Я также получаю Permission denied (publickey).
независимо от того, используете ли для входа username @ instance
или username_mycomp_com @ instance
. Я и все мои коллеги также больше не можем использовать веб-вход через ssh, что означает, что мы были заблокированы для нашего собственного сервера!
Я могу связать это только с запуском gcloud compute os-login ssh-keys add
, которая, похоже, повлияла больше, чем говорится.
gcloud compute ssh
$ gcloud compute ssh dev-mycomp-no
WARNING: The public SSH key file for gcloud does not exist.
WARNING: The private SSH key file for gcloud does not exist.
WARNING: You do not have an SSH key for gcloud.
WARNING: SSH keygen will be executed to generate a key.
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/carlerik/.ssh/google_compute_engine.
Your public key has been saved in /home/carlerik/.ssh/google_compute_engine.pub.
The key fingerprint is:
SHA256:cicl5t/5mDmIocrkDopK2C6Rf9OvT7FhKAh9GEMPFd8 carlerik@ubuntu
The key's randomart image is:
+---[RSA 2048]----+
| .=.o. |
| . * . . |
|. o o . E . |
| . o + o |
| .. . o S . |
|+. . +.B . . |
|.+o .. .oo..o |
|+o.=o o.. . .= |
|=..o=o.+o +.. |
+----[SHA256]-----+
No zone specified. Using zone [europe-west1-b] for instance: [dev-mycomp-no].
WARNING: Using OS Login user [carlerik_mycomp_com] instead of default user [carlerik]
Warning: Permanently added 'compute.7727415340568554709' (ECDSA) to the list of known hosts.
carlerik_mycomp_com@35.195.71.35: Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
gcloud compute os-login ssh-keys добавить
gcloud compute os-login ssh-keys add --key-file ~/.ssh/id_rsa.pub | stack-overflow
loginProfile:
name: '111200762294302015941'
posixAccounts:
- accountId: charged-foo-162409
gid: '438632669'
homeDirectory: /home/myuser_mycomp_com
operatingSystemType: LINUX
primary: true
uid: '438632669'
username: myuser_mycomp_com
sshPublicKeys:
f7fd01c562d4edb7292eada91dfb2213ef2344f9db605eedc65ac08cea39327e:
fingerprint: f7fd01c562d4edb7292eada91dfb2213ef2344f9db605eedc65ac08cea39327e
key: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtB10ag2fipH7Cnls3gZvl5eBJx0OvQaLu7hndL5sif3m4CTGmrN/MuP0lei0Rt23cBy5Ey2DqAjmizCAhdc3jSQm0pXisKG92Juo2HxiJw+eMUucoPhjbEy35sKKrru2//5uPpK5IEeVEve3bIXCAQUQgyOESmHBgXmKSCz0jQXEvcV8GxxkdXK7/UQVSe5wtxzPHOoP+foobar+bjHXnQkiqk5oDeP3ewPorrvxbOeOcqk0b1qrAQYSXHqXv6lENfWIceIz1EsZlRsIV i9-mycomp
экземпляров gcloud compute add-metadata the-instance --metadata enable-oslogin = TRUE
Видел это в руководстве. Предполагалось, что это позволит дополнительных способов входа в систему. Оглядываясь назад, я понимаю, что понятия не имею, что это делает.
$ gcloud compute os-login describe-profile
name: '111200762294302015941'
posixAccounts:
- gid: '726506529'
homeDirectory: /home/myuser_mycomp_com
operatingSystemType: LINUX
primary: true
uid: '726506529'
username: myuser_mycomp_com
- accountId: foo-mission-162409
gid: '438632669'
homeDirectory: /home/myuser_mycomp_com
operatingSystemType: LINUX
primary: true
uid: '438632669'
username: myuser_mycomp_com
sshPublicKeys:
3573aef91758f9706a884bffc95502ea5f31bbfab7a33d58be8abd9a84f53808:
fingerprint: 3573aef91758f9706a884bffc95502ea5f31bbfab7a33d58be8abd9a84f53808
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCaISFI0hCDMK5SIqIBlsboBQTBCoW98bvjUjoCDn9S4kXSOtVvwNeXc/Kb+9lXqKR8CbtYgOZySPqI+5VADdAIcfot2S65Fq5qOQ1IH7Uo29nzvhyjfRbckAs3gaTF6uzxEA0THqyAZ1oGIyK3vDI8W/Ofczi08oIYWpMmWA8dQNQuKRujloDuFElpjZEjbEyfkn/e7iSm1VxZ8aLEw7M3/BsJLmtwxa+tYyTAfKx63NRFbSWf873GLOyAKCnE5ls27ftlTjDJMISI3RZd1KMdyg+6KAwN7YsCTwJXarNXr9v2GcY8lrpC7dQ/lGK1nBsPa0kOSYKQzJ0LIDxfOan
myuser@ubuntu
Я смог снова войти в систему после отключения os-login:
gcloud compute instances add-metadata dev-diffia-no --metadata enable-oslogin=FALSE
У меня была аналогичная проблема с включенным входом в ОС и отказом моего ключа в старом экземпляре debian jessie.
Симптомы, где:
Permission denied (publickey)
сообщение об ошибке в командной строке после Использование сообщения входа пользователя в ОС
, Получен неверный ответ от сервера
, сообщение об ошибке в журналах модуля nss_oslogin
. Решением было обновить следующие пакеты из надлежащего репозиторий:
До:
# dpkg -l | grep google
ii google-cloud-packages-archive-keyring 1.2-1 all Contains GPG signing key for Google Cloud Packages
ii google-cloud-sdk 253.0.0-0 all Utilities for the Google Cloud Platform
ii google-compute-engine 2.5.2-4 all google-compute-engine transitional package
ii google-compute-engine-init-jessie 2.1.3-0.1503598199 amd64 Google Compute Engine Linux initialization scripts
ii google-compute-engine-jessie 2.5.2-0.1502923259 all Google Compute Engine
ii google-compute-engine-oslogin 1.0.2-1+deb8 amd64 Google Compute Engine OS Login
ii google-config-jessie 2.1.2-0.1484936429 amd64 Google Compute Engine Linux guest configuration
После:
# dpkg -l | grep google
ii google-cloud-packages-archive-keyring 1.2-1 all Contains GPG signing key for Google Cloud Packages
ii google-cloud-sdk 253.0.0-0 all Utilities for the Google Cloud Platform
ii google-compute-engine 2.8.16-1 all Google Compute Engine guest environment.
ii google-compute-engine-oslogin 1.4.3-1+deb8 amd64 Google Compute Engine OS Login
rc google-config-jessie 2.1.2-0.1484936429 amd64 Google Compute Engine Linux guest configuration
ii python-google-compute-engine 2.8.16-1 all Google Compute Engine python library for Python 2.x.
ii python3-google-compute-engine 2.8.16-1 all Google Compute Engine python library for Python 3.x.
Чтобы подключиться к этому экземпляру для выполнения обновлений, необходимо временно отключить вход в ОС, установив enable-oslogin = FALSE
в метаданные экземпляра , как описано в ответе @ oligofren .
Затем убедитесь, что он присутствует в /etc/apt/sources.list.d/google-cloud.list
(могут быть другие строк):
deb http://packages.cloud.google.com/apt google-compute-engine-jessie-stable main
И выполните обновления:
# sudo apt install --reinstall google-compute-engine google-compute-engine-oslogin python-google-compute-engine python3-google-compute-engine
Затем вы можете повторно включить вход в ОС для экземпляра.