Po pomyślnym sklonowaniu mojego repozytorium z heroku i dodaniu kolejnego pilota
1/ git clone [email protected]:[APP].git
2/ git remote add bitbucket ssh://[email protected]/[ACCOUNT]/[REPO].git
3/ git push bitbucket master
Nadal pojawia się ten błąd po uruchomieniu linii (3) lub użyciu SourceTree
conq: repository access denied. access via a deployment key is read-only.
Po pierwsze, nie rozumiem, co ta wiadomość oznacza w praktyce. I szkoda.
Stworzyłem parę kluczy ssh i dodałem do heroku:
ssh-keygen -t rsa
heroku keys:add ./id_rsa.pub
Dodałem również mój klucz w sekcji kluczy wdrażania w BitBucket. Ale coś mi brakuje. To pytanie nie jest z lenistwa, czytałem różne dokumenty, w tym przewodniki po BitBuckets. Ale nadal nie można obejść tego problemu.
Ten post dotyczy Czy mogę zaimportować moje repozytorium heroku git do bitbuket? i jak?
DODATKOWE FAKTY:
ssh -T [email protected]
conq: authenticated via a deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
$ ssh -v [email protected]
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 [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_CTYPE = UTF-8
PTY allocation request failed on channel 0
Wygląda na to, że wszystko jest w porządku.
Odpowiedzi:
Pierwsze zamieszanie po mojej stronie dotyczyło tego, gdzie dokładnie ustawić klucze SSH w BitBucket.
Jestem nowy w BitBucket i ustawiałem klucz wdrażania, który daje dostęp tylko do odczytu .
Upewnij się więc, że ustawiasz swoje ustawienia
rsa pub key
konta BitBucket .Kliknij swój awatar BitBucket i wybierz Ustawienia Bitbucket (
Zarządzać kontem). Tam będziesz mógł ustawić klucze SSH .Po prostu usunąłem klucz wdrażania , na razie go nie potrzebuję. I zadziałało
źródło
Teraz opcja SSH znajduje się w ustawieniach zabezpieczeń
Kliknij Twój awatar -> Ustawienia Bitbucket -> Klucz SSH -> Dodaj klucz
Wklej swój klucz publiczny
źródło
musisz dodać swój klucz do swojego profilu, a NIE do konkretnego repozytorium. postępuj zgodnie z tym: https://community.atlassian.com/t5/Bitbucket-questions/How-do-I-add-an-SSH-key-as-opposed-to-a-deployment-keys/qaq-p/413373
źródło
Klucze wdrażania są tylko do odczytu. Aby włączyć dostęp do zapisu, musisz:
Usuń ten klucz wdrażania z ustawień repozytorium. I tak nie będziesz mógł pisać do tego repozytorium za pomocą tego klucza.
Idź do „Avatar -> Ustawienia -> Klucze SSH” i dodaj ten sam klucz
Teraz spróbuj nacisnąć, aby usunąć gałąź
Wcześniej mogłeś pisać do repozytoriów, ale jest to zmiana w BitBucket, w której nie możesz już pisać za pomocą klucza wdrażania.
źródło
„Klucz wdrażania” służy tylko do dostępu tylko do odczytu. Oto dobry sposób na obejście tego.
źródło
Najpierw musisz usunąć klucz wdrażania, jeśli chcesz dodać ten sam klucz w obszarze Zarządzaj kluczem SSH konta.
źródło
Someone has already registered this as a deploy key.
TLDR: ssh-add ~ / .ssh / yourkey
Właśnie przepracowałem ten problem.
I żadna inna odpowiedź nie pomogła.
Miałem ./ssh/config ze wszystkimi właściwymi rzeczami, również wcześniejsze repozytorium działające dobrze (to samo konto bitbucket, ten sam klucz). Następnie wygenerowałem klucz wdrażania, a następnie utworzyłem nowe repozytorium.
Po tym nie można sklonować nowego repozytorium.
Chciałbym wiedzieć, jak / dlaczego agent ssh to psuje, ale dodanie klucza rozwiązało to. Mam na myśli dodanie klucza do mojego lokalnego Ubuntu, a nie do administratora bitbucket. Polecenie jest słuszne
Mam nadzieję, że to komuś pomoże.
źródło
Zdarzyło się tak, gdy próbowałem użyć klucza wdrażania, ponieważ właśnie tego chciałem.
Mogę połączyć się za pośrednictwem,
ssh -T [email protected]
a to powie mi, że mam dostęp do odczytu repozytorium, którego chciałem, ale sięgit clone
nie powiedzie.Usunięcie
~/.ssh/known_hosts
, wygenerowanie nowego klucza poprzezssh-keygen
dodanie tego nowego klucza do bitbucket i ponowienie próby naprawiło go dla mnie.źródło
Chciałbym ponownie podkreślić, co następuje:
Uświadomiłem sobie wieki, ale nawet po przeczytaniu tutaj odpowiedzi nie kliknęło.
źródło
Ostatnio napotkałem ten sam problem. Wystąpił następujący błąd:
odmowa dostępu do repozytorium. dostęp za pomocą klucza wdrażania jest tylko do odczytu.
Możesz mieć dwa rodzaje kluczy SSH:
Po prostu usunąłem klucz SSH repozytorium i dodałem nowy klucz SSH do mojego konta i działało to dobrze.
Mam nadzieję, że to komuś pomoże. Twoje zdrowie
źródło
Najpierw wybierz lub utwórz klucz, którego chcesz użyć do przesyłania do Bitbucket. Powiedzmy, że jego klucz publiczny to
~/.ssh/bitbucket.pub
~/.ssh/config
:źródło
Kroki:
Utwórz klucze ssh na serwerze źródłowym
ssh-keygen
Cat i skopiuj id_rsa.pub znajdujący się w katalogu ~. / Ssh
Sprawdź, czy to działa, uruchamiając poniżej polecenia na serwerze źródłowym
git remote show origin
W przypadku pobierania i wypychania z serwera źródłowego, jeśli protokołem jest „https”, musisz zmienić go na „git + ssh”, uruchamiając poniższe polecenie
git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git
Sprawdź, czy możesz wykonać push na repozytorium.
Gotowy!
źródło
Miałem ten sam problem, co Kabir Sarin. Rozwiązaniem było sklonowanie repozytorium za pośrednictwem SSH, zamiast korzystania z adresu URL https. więc to mi pomogło i mam nadzieję, że inni:
źródło
Krok 1: Generowanie kluczy
ssh-keygen
co spowoduje wyświetlenie monitu o podanie miejsca przechowywania klucza, możesz wpisać/Users/[machinename]/.ssh/[keyname]
Krok 2: Przekazywanie kluczy do odpowiednich lokalizacji [konta Mac i zdalne, tj. Github, Bitbucket, Gitlab itp.]
ssh-add -K ~/.ssh/[keyname]
terminal, aby dodać swój klucz prywatny do komputera Macpbcopy < ~/.ssh/[keyname].pub
aby skopiować klucz publiczny do schowkaźródło
Wszystko czego potrzebujesz - dodaj kolejny klucz i użyj go.
Jak znalazłem pierwszy klucz - zawsze klucz wdrażania.
źródło
Czasami to nie działa, ponieważ ręcznie ustawiasz inny klucz do bitbucket w
~/.ssh/config
.źródło
tutaj jest pełny kod do klonowania wszystkich repozytoriów od danego zespołu / użytkownika BitBucket
Więcej informacji: https://thepythoncoding.blogspot.com/2019/06/python-script-to-clone-all-repositories.html
źródło
dla tego błędu: conq: odmowa dostępu do repozytorium. dostęp za pomocą klucza wdrażania jest tylko do odczytu.
Zmieniam nazwę mojego klucza, przykład
Pracuję nad własnym kluczem na bitbucket
źródło