После успешного клонирования моего репо из героку и добавления еще одного пульта
1/ git clone git@heroku.com:[APP].git
2/ git remote add bitbucket ssh://git@bitbucket.org/[ACCOUNT]/[REPO].git
3/ git push bitbucket master
Я все еще получаю эту ошибку после запуска строки (3) или использования SourceTree
conq: repository access denied. access via a deployment key is read-only.
Во-первых, я не понимаю, что это сообщение означает на практике. И это позор.
Я создал пару ключей ssh и добавил в heroku:
ssh-keygen -t rsa
heroku keys:add ./id_rsa.pub
Я также добавил свой ключ в раздел ключей развертывания в BitBucket. Но я должен что-то упустить. Этот вопрос не из лени, я читал различные документы, включая руководства BitBuckets. Но это все еще не обойти эту проблему.
Этот пост связан с тем, могу ли я импортировать мою Gitku Git репо в битбукет? и как?
ДОПОЛНИТЕЛЬНЫЕ ФАКТЫ:
ssh -T hg@bitbucket.org
conq: authenticated via a deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
$ ssh -v git@bitbucket.org
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/joel/.ssh/config
debug1: Applying options for bitbucket.org
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [207.223.240.181] port 22.
debug1: Connection established.
debug1: identity file /Users/joel/.ssh/id_rsa type 1
debug1: identity file /Users/joel/.ssh/id_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/joel/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/joel/.ssh/id_rsa
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: read PEM private key done: type RSA
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
Authenticated to bitbucket.org ([207.223.240.181]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_CTYPE = UTF-8
PTY allocation request failed on channel 0
Похоже, все в порядке.
Ответы:
Первая путаница с моей стороны была о том, где именно установить ключи SSH в BitBucket.
Я новичок в BitBucket, и я устанавливал ключ развертывания, который дает только доступ для чтения .
Поэтому убедитесь, что вы устанавливаете свои
rsa pub key
в настройках учетной записи BitBucket .Нажмите на свой аватар BitBucket и выберите Настройки Bitbucket (
Управлять счетом). Там вы сможете установить ключи SSH .Я просто удалил ключ развертывания , пока он мне не нужен. И это сработало
источник
Теперь опция SSH находится в настройках безопасности
Выберите Ваш аватар -> Настройки Bitbucket -> Ключ SSH -> Добавить ключ
Вставьте свой открытый ключ
источник
Вы должны добавить свой ключ в свой профиль, а НЕ в конкретный репозиторий. следуйте этому: https://community.atlassian.com/t5/Bitbucket-questions/How-do-I-add-an-SSH-key-as-oppposed-to-a-deployment-keys/qaq-p/413373
источник
Ключи развертывания доступны только для чтения. Чтобы включить доступ для записи, вам необходимо:
Удалите этот ключ развертывания из настроек репозитория. В любом случае вы не сможете писать в этот репозиторий с этим ключом.
Зайдите в «Аватар -> Настройки -> SSH Keys» и добавьте тот же ключ
Теперь попробуйте нажать, чтобы удалить ветку
Ранее вы могли писать в репозитории, но это изменение в BitBucket, когда вы больше не можете писать с помощью ключа развертывания.
источник
«Ключ развертывания» предназначен только для доступа только для чтения. Следующее - хороший способ проработать это.
источник
Сначала необходимо удалить ключ развертывания, если вы собираетесь добавить тот же ключ в разделе «Управление учетной записью SSH-ключ».
источник
Someone has already registered this as a deploy key.
TLDR: ssh-add ~ / .ssh / yourkey
Я только что решил эту проблему.
И ни один из других ответов не помог.
У меня был файл ./ssh/config со всеми необходимыми материалами, а также более ранний репозиторий, работающий нормально (та же учетная запись Bitbucket, тот же ключ). Затем я сгенерировал ключ deploy_key и после этого создал новый репозиторий.
После этого не удалось клонировать новый репо.
Хотелось бы знать, как / почему агент ssh все испортил, но добавление ключа решило это. Я имею в виду добавление ключа в мою локальную Ubuntu, а не в администратор Bitbucket. Команда просто
Надеюсь, это кому-нибудь поможет.
источник
Это случилось, когда я пытался использовать ключ развертывания, потому что это именно то, что я хотел.
Я мог подключиться через него,
ssh -T git@bitbucket.org
и он сказал бы, что у меня есть доступ для чтения нужного репозитория, ноgit clone
получится.Очистка
~/.ssh/known_hosts
, генерация нового ключа черезssh-keygen
, добавление этого нового ключа в bitbucket и повторная попытка исправить это для меня.источник
Я хотел бы еще раз подчеркнуть следующее:
Мне потребовалось много времени, чтобы понять, как-то даже после прочтения ответов здесь не щелкнуло.
источник
Сначала выберите или создайте ключ, который вы хотите использовать для отправки в Bitbucket. Допустим, его открытый ключ находится на
~/.ssh/bitbucket.pub
~/.ssh/config
:источник
Недавно я столкнулся с той же проблемой. Я получил следующую ошибку:
доступ к хранилищу запрещен. доступ через ключ развертывания только для чтения.
У вас может быть два вида ключей SSH:
Я просто удалил свой ключ SSH хранилища и добавил новый ключ SSH в свою учетную запись, и он работал хорошо.
Надеюсь, это кому-нибудь поможет. ура
источник
У меня была та же проблема, что и у Кабира Сарина. Решение было клонировать репо через SSH вместо использования https URL. так вот что помогло мне и, надеюсь, другим
источник
шаги:
Создание ключей SSH на исходном сервере
ssh-keygen
Cat и скопируйте id_rsa.pub, расположенный в каталоге ~. / Ssh
Проверьте, работает ли он, выполнив команду ниже на исходном сервере
git remote show origin
Для получения и отправки с исходного сервера, если протокол «https», вам нужно изменить его на «git + ssh», выполнив команду ниже
git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git
Проверьте, можете ли вы сделать толчок к репо.
Готово!
источник
Все, что вам нужно - добавить еще один ключ и использовать его.
Как я нашел первый ключ - всегда ключ развертывания.
источник
Иногда это не работает, потому что вы вручную устанавливаете другой ключ для bitbucket в
~/.ssh/config
.источник
Шаг 1: Генерация ключей
ssh-keygen
это, вам будет предложено ввести место хранения ключа, вы можете ввести/Users/[machinename]/.ssh/[keyname]
Шаг 2: нажатие клавиш в соответствующих местах [mac и удаленные учетные записи, например, Github, bitbucket, gitlab и т. Д.]
ssh-add -K ~/.ssh/[keyname]
терминал, чтобы добавить свой закрытый ключ к Macpbcopy < ~/.ssh/[keyname].pub
для копирования открытый ключ в буфер обменаисточник
вот полный код для клонирования всех репозиториев от данной команды / пользователя BitBucket
Дополнительная информация: https://thepythoncoding.blogspot.com/2019/06/python-script-to-clone-all-repositories.html
источник
для этой ошибки: conq: доступ к хранилищу запрещен. доступ через ключ развертывания только для чтения.
Я меняю название своего ключа, пример
Я работаю над своим собственным ключом на bitbucket
источник