2015-07-24 4 views
1

Я добавил свой открытый ключ к метаданным для моего проекта в консоли разработчика, когда я ssh в экземпляр VM Ubuntu, я могу видеть свой открытый ключ в файле ~/.ssh/authorized_keys, но когда я пытаюсь использовать он клонировать проект от Bitbucket Я принимаю ошибку Permission denied (publickey)Открытый ключ Google Compute Engine

Если я ssh-add -l Я просто получаю The agent has no identities. Есть ли что-то еще, что я должен делать, чтобы использовать мой существующий открытый ключ в экземплярах GCE?

ответ

2

Вы смешиваете вещи. Существует два ключа: открытый и закрытый (например, ~/.ssh/id_rsa{,.pub}). Вы добавляете открытый ключ, в котором вы хотите ssh/login и хранить закрытый ключ на вашем компьютере/компьютере, откуда вы хотите ssh/login.

Если вы хотите использовать пару ключей для клонирования из BitBucket из виртуальной машины, вам нужно сделать одну из этих вещей:

Использование локальных переадресованные ключей

  • создать пару ключей на локальном компьютере: ssh-keygen
  • магазин открытый ключ в BitBucket
  • добавить эту пару ключей в SSH агента: ssh-add path/to/private/key
  • SSH в VM с пересылкой агента: ssh -K your-vm
  • сделать ваш клон: git clone your-repo

Использование отдельной пары ключей

  • SSH к вашей виртуальной машине: ssh your-vm
  • создать пару ключей на виртуальной машине: ssh-keygen
  • хранить открытый ключ в BitBucket
  • Сделайте свой Клон: git clone your-repo

Первое решение является более полезным, если вы не хотите иметь много ключей и операций с репозиторием не будет без вашего участия (хрон рабочих мест). Второй вариант полезнее, если вы хотите обновить репо с помощью cron и запустить некоторую автоматизацию.