Развертывание в Digital Ocean из Bitbucket - ошибка в разрешении отказано (публичный ключ)

Я пытаюсь развернуть свое приложение Rails с Bitbucket в Digital Ocean. Я использую Git в качестве системы контроля версий, я сделал следующее:

  1. возьми ssh-ключ моего компьютера pbcopy < ~/.ssh/id_rsa.pub
  2. добавить ssh-ключ моих компьютеров в Digital Ocean (https://cloud.digitalocean.com/ssh_keys)
  3. добавить ssh-ключ моих компьютеров в репозиторий Bitbucket в качестве ключа развертывания (https://bitbucket.org/<account name>/<project admin/deploy-keys)

но когда я запускаю cap deploy, он дает эту ошибку

    servers: [<server ip>]
    [<server ip>] executing command
 ** [<server ip> :: out] Permission denied (publickey).
 ** [<server ip> :: out]
 ** [<server ip> :: out] fatal: Could not read from remote repository.
 ** [<server ip> :: out]
 ** [<server ip> :: out]
 ** [<server ip> :: out] Please make sure you have the correct access rights
 ** [<server ip> :: out]
 ** [<server ip> :: out] and the repository exists.
 ** [<server ip> :: out]

Вот мой deploy.rb файл

set :scm, "git"
set :repository, "[email protected]:<user name>/<project name>.git"
set :branch, "master"

Если я clone отправлю репо на свой локальный компьютер, он будет работать нормально. Я просмотрел документацию Bitbucket, но до сих пор не могу понять, чего не хватает.

И мой ssh ​​для Bitbucket работает:

ssh -T [email protected]
authenticated via a deploy key.


You can use git or hg to connect to Bitbucket. Shell access is disabled.

This deploy key has read access to the following repositories:

<repor name>

Нашел этот вопрос SO, но безуспешно.


person sameera207    schedule 11.08.2014    source источник


Ответы (2)


Хорошо, я нашел решение, добавлю его сюда, чтобы кому-то оно пригодилось.

Я исправил проблему, создав ключ SSH в Digital Ocean и добавив его в Bitbucket.

Ниже приведены шаги

  • создать SSH-ключ в Digital Ocean
  • добавьте этот SSH-ключ как SSH-ключ Digital Ocean
  • добавить тот же ключ в ключ развертывания Bitbucket (https://bitbucket.org/<user>/<project>/admin/deploy-keys)
person sameera207    schedule 11.08.2014
comment
Первая ссылка 404 и вторая имеют дополнительные / - person Rastalamm; 16.01.2016

Если вы хотите добавить дополнительные ключи SSH в каплю, у которой уже есть некоторые ключи, вам нужно будет включить аутентификацию по паролю через SSH, чтобы это сделать. Добавление ключа SSH через панель управления можно добавить в каплю только во время ее создания.

Если вы не можете получить доступ к машинам с существующими ключами SSH, вам нужно будет выполнить эти шаги, используя веб-консоль для вашей капли. Чтобы включить аутентификацию по паролю, выполните следующие действия.

Отредактируйте этот файл конфигурации в своем любимом текстовом редакторе.

/ и т.д. / SSH / sshd_config

Найдите строку с надписью «PasswordAuthentication no» и измените ее на «PasswordAuthentication yes», затем сохраните и выйдите из редактора.

Вернувшись в командную строку, выполните следующую команду, чтобы разрешить новые изменения SSH.

/etc/init.d/ssh перезапуск

После перезапуска SSH вы можете попробовать SSH-соединение с вашей каплей. Если вы получаете сообщение об ошибке в разрешении отказано, вам может потребоваться обновить пароль с помощью команды «passwd».

Когда вы успешно вошли на свой сервер через SSH на своем компьютере, я рекомендую выполнить действия, описанные в статье ниже, чтобы получить новый ключ SSH, настроенный для этой капли.

https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2

Я надеюсь, что эта информация будет полезной! Пожалуйста, дайте нам знать, если у вас возникнут какие-либо вопросы или возникнут проблемы!

person Sekar Suresh S    schedule 21.02.2020