На самом деле я уже перепробовал все, как описано в SSH Permission denied (publickey) и Unable to ssh to GCE: «Permission denied (publickey) , но никто не решил проблему.

Я могу использовать ssh в учетной записи root, но не в той учетной записи, которую я использовал для входа в систему.

Я пробовал следующие вещи, чтобы исправить это из учетной записи ROOT.

  1. sudo chown -R $USER ~/.config/gcloud
  2. Сгенерируйте ключ ssh, используя следующие команды

    • ssh-keygen
    • Скопируйте содержимое файла key.pub
    • Добавить содержимое в ~/.ssh/authorized_keysфайл
    • sudo nano ~/.ssh/authorized_keys

Я установил экземпляр виртуальной машины Google Cloud с Ubuntu 16.04 LTS. Обычно я использую ssh для моей машины с помощью следующей команды:

gcloud compute --project "XXX-XXX" ssh --zone "us-east1-b" "XXXXXXXX"

Но теперь при попытке выдает следующую ошибку:

Permission denied, please try again.

У меня три аккаунта на виртуальной машине. Один корень, абдулла, mrafique.bese_17seecs. Вся моя виртуальная среда существует в «Абдуллахе», к которой я не могу получить доступ прямо сейчас.

Пожалуйста помоги.

answer

Если вы вводили команды в том виде, как вы их разместили в качестве учетной записи root, вы вообще ничего не делали со своим зарегистрированным пользователем. Вы изменяли только файлы в домашнем каталоге пользователя root. Вместо ~(который расширяется до домашнего каталога вошедшего в систему пользователя) вы должны использовать ~abdullahили /home/abdullah(если это домашний каталог) в этих командах.

  1. chown -R $USER ~abdullah/.config/gcloud
  2. Сгенерируйте ключ ssh, используя
    ssh-keygen

  3. Скопируйте содержимое файла key.pub
    nano ~abdullah/.ssh/authorized_keys

И вам не нужно sudo, когда вы уже являетесь пользователем root.

Я не знаю как, но после этого ответа после того, как я вошел в систему как root, я выпустил:

su - abdullah

Я вошел в систему со своей учетной записью, и я могу запускать все, что и раньше.