Как мы можем подключиться к виртуальной машине Google Cloud с терминала Mac, используя открытый ключ, созданный на виртуальной машине? - PullRequest
0 голосов
/ 18 марта 2019

Мы хотели подключиться к виртуальной машине Google Cloud, используя открытый ключ, сгенерированный на виртуальной машине из терминала Mac.Но мы видим следующую ошибку

konathal:.ssh konathal$ ssh -i ~/.ssh/runnhostkey1.pub suren@1.2.3.4

Load key "/Users/konathal/.ssh/runnhostkey1.pub": invalid format
suren@1.2.3.4: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Что мы сделали?

Следуя документации на https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#createsshkeys

1.Мысоздал новый открытый ключ в виртуальной машине Google Cloud как

~/.ssh/runnhostkey1
~/.ssh/runnhostkey1.pub 

2.Добавил содержимое открытого ключа runnhostkey1.pub в ВМ> Правка> Ключи SSH

3.Создал новый файл в локальной сетиmac и скопировал содержимое открытого ключа

$ vi ~/.ssh/runnhostkey1.pub
$ chmod 400 ~/.ssh/runnhostkey1.pub

Мы не можем подключиться к виртуальной машине, используя $ ssh -i ~/.ssh/runnhostkey1.pub suren@1.2.3.4

Чего нам не хватает?

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Мы нашли проблему и решение:

1) Владелец и группа файлов ключей (публичные и личные) должны принадлежать пользователю, который используется для генерации ключей. В нашем случае мы вошли как root , но создали ключи с пользователем suren .

Решение

ssh-keygen -t rsa -f ~/.ssh/runnkey -C suren но мы запустили это имя как root, поэтому у владельца файла есть root. Быстро исправить было сменить владельца

chown suren:suren ~/.ssh/runnkey и chown suren:suren ~/.ssh/runnkey.pub

2) Добавьте открытые ключи в /. Ssh / authorised_keys .

Пример cat ~/.ssh/runnkey.pub >> ~/.ssh/authorized_keys

3) Изменить разрешения для файлов

 chmod 0700 /.ssh/authorised_keys
 chmod 0600 /.ssh/runnkey
 chmod 0600 /.ssh/runnkey

4) Добавьте ключи к экземпляру виртуальной машины. Compute Engine> Экземпляры виртуальной машины> [виртуальная машина, к которой вы хотите обратиться]> Изменить> Ключи SSH. Скопируйте текст (vi ~/.ssh/runnkey.pub copy) открытого ключа и добавьте сюда вставку. Сохранить.

5) Создайте файлы runnkey и runnkey.pub на локальном компьютере Mac в папке /.ssh и скопируйте содержимое из соответствующих файлов на сервере.

Примеры команд тестирования:

ssh -i ~/.ssh/runnkey.pub suren@1.2.3.4
scp -i ~/.ssh/runnkey.pub /Downloads/ship.png suren@1.2.3.4:/home/temp

Указанные выше 1,2,3 упомянуты в документе в разделе Неправильные разрешения для каталога $ HOME или $ HOME / .ssh подключающегося пользователя.

0 голосов
/ 18 марта 2019

Вы не можете использовать открытый ключ для подключения через SSH. Вы должны использовать закрытый ключ.

Открытый ключ используется виртуальной машиной для проверки вашей авторизации для подключения.

Скорее всего, ваш закрытый ключ: ~/.ssh/runnhostkey1

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