developer tip

bitbucket으로 푸시 할 수 없습니다. 권한이 거부되었습니다 (공개 키).

optionbox 2021. 1. 11. 08:03
반응형

bitbucket으로 푸시 할 수 없습니다. 권한이 거부되었습니다 (공개 키).


나는 내 프로젝트를 내 bitbucket에 밀어 넣으려고 노력하고 있으며 수 많은 문제 해결 / 페이지 / 문제 해결 / 튜토리얼을 통해 약 4 일 동안이 문제를 해결했습니다. Im 손실에 매우 좌절했습니다. 나는 전에 이것을했지만 다른 컴퓨터에서 ... 어쨌든 여기에 내가 받고있는 코드 / 응답이 있습니다.

~/dev/sample_app git push -u origin --all
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 81:7b:2c:f5:6f:18:2b:7c:4b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
~/dev/sample_app 

10.8.4를 실행하는 Mac을 사용하고 있습니다.

그래서 약간의 진전이 이루어졌습니다. 처음에는 .ssh 폴더가 없었기 때문에 처음에 그렇게 만들었습니다. known_hosts 파일이 없어서 실행했습니다.

ssh -T git@bitbucket.org

나는 yes를 선택했고 이것은 known_hosts 파일을 생성했고 다시 푸시를 시도했을 때 다음을 얻었습니다.

~/dev/sample_app git push -u origin --all
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

내 .ssh 폴더는 700이고 내부 키는 모두 600입니다.


~ / .ssh / config 파일에서 다음과 같이 IdentityFile 플래그 파일을 설정할 수 있습니다.

Host bitbucket.org
  IdentityFile ~/.ssh/id_rsa

당신이 달릴 때

ssh git@bitbucket.org

ssh 클라이언트를 사용하면 RSA 또는 DSA 인증을위한 ID (개인 키)를 읽을 파일을 선택할 수 있습니다.

주어진 개인 키를 사용하는 SSH 클라이언트 (ID 파일)


ssh를 git origin url로 사용할 수 있습니다. 그렇게 ssh 원본을 제거하십시오

git remote rm origin

그런 다음 HTTPS URL로 새 원본을 추가하고 다시 푸시하십시오.

git remote add origin https://git@bitbucket.org/SOMETHING/SOMETHING.git
git push -u origin master

bitbucket의 URL을 원본으로 붙여 넣어야합니다.


시스템 관리자가 공포에 질려 반동을 일으킬 수 있지만이 문제 (Windows)를 겪은 후 SSH를 포기하고 HTTPS로 돌아갔습니다.

Git에 원격 저장소를 처음 추가 할 때 SSH 참조 ' git@bitbucket.org...'를 HTTPS URL ' https://<username>@bitbucket.org'로 바꿉니다 .

매번 암호를 입력해야하지만, 특히 * nix 제품군만큼 일반적으로 SSH를 사용할 수없는 Windows에서는 SSH의 골칫거리와 비교할 때 사소한 불편 함으로 간주됩니다.


신선한 Ubuntu 16 컴퓨터의 경우 ~/.ssh폴더에 파일이 없어서 작동했습니다.

  1. 폴더로 이동 ~/.ssh
  2. ssh-keygen파일을 실행 하고 이름을 지정하십시오.id_rsa
  3. 그냥 cat ~/.ssh/id_rsa.pub | xclip -sel clip
    놓치면 실행 :)xclipapt-get install xclip
  4. (URL에서 USERNAME을 bitbucket 사용자 이름으로 변경)으로 이동하십시오. ) https://bitbucket.org/account/user/USERNAME/ssh-keys/
  5. Add key클립 보드에서 키를 클릭 하여 붙여 넣기

매직-지금 작동합니다 :)


보다 지속 가능한 솔루션은 편집 .bashrc(예 vi ~/.bashrc:) 한 다음 다음 줄을 추가 (키 이름 대체)하는 것입니다.

ssh-add ~/.ssh/YOUR_KEY

쉘을 시작할 때 자동으로 키를로드합니다.


Linux (Ubuntu)에서 동일한 문제에 직면했습니다.

설정을 사용하여 해결했습니다 git.

git config --global user.name "Your Name"
git config --global user.email your.email@example.com

cat 및 SSH 키를 사용하여 공개 키를 bitbucket.org에 인쇄합니다.

$ cat ~/.ssh/id_rsa.pub

Bitbucket 추가 및 저장소 푸시 :

git remote add origin git@bitbucket.org:<username>/your repository name.git
git push -u origin --all

그게 다야!


BitBucket과 비슷한 문제가 있습니다. 제 경우에는 git clone 명령에서 sudo를 제거해야 함을 알게 된 후에 만 ​​수정되었습니다!

Attlassian 에 따르면 :

당신은 sudo를 사용하지 말아야 , 복제 밀거나 당길 때 사용자 수준에서 SSH 에이전트 실행이 아닌 루트 수준 때문이다.


git config --global user.name "My Name"및으로 git을 설정 한 후에도 git config --global user.email myemail@x.comPermission Denied, (publickey) 오류로 인해 여전히 문제가 발생했습니다. 이를 해결하기 위해 먼저 다음을 사용하여 새 ssh 토큰을 생성했습니다.

ssh-keygen

그리고 그것을 복사했습니다

pbcopy < ~/.ssh/YOUR_KEY

그 후 bitbucket.com으로 이동하여 설정에서 새 SSH 키로 추가했습니다. 그런 다음 터미널로 돌아가서 새 키를 추가했습니다.

ssh-add ~/.ssh/YOUR_KEY.

내가 가진 큰 문제는 중요한 ssh-add [key]명령을 놓쳤다는 것 입니다.


기존 SSH 키 확인

ls -al ~/.ssh

SSH 키 복사

cat ~/.ssh/id_rsa.pub | pbcopy

복사 한 SSH 키를 'Bitbucket 설정', '보안', 'SSH 키'에 추가합니다.


이것은 당연한 일이지만 나는 그것에 대해 꽤 많은 시간을 보냈다.

실행할 때 목적지 확인 git remote -v

제 경우에는 ssh 키를 완벽하게 설정했지만이 명령의 출력은 다음과 같습니다.

origin get@github.com:USERNAME/REPOSITORY.git

( get not git 주목 )

그리고 아닙니다

origin git@github.com:USERNAME/REPOSITORY.git

다시 말하지만 이것은 매우 특별한 경우이지만 문제가있는 경우이 시스템의 문자열을주의 깊게 확인하십시오.

다음 명령을 사용하여이 문제를 해결할 수 있습니다.

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git


제 경우에는 디렉토리에서 ssh 키를 추가하는 문제가 해결되었습니다.

~/.ssh/id_rsa.pub

bitbucket.org . 나는 또한 웹 사이트에서 id_rsa.pub라는 이름을 붙였습니다.

At the beginning I added another key I created just for bitbucket and named it like that. The first remote actions worked but after some days the request have been denied.


In Windows, @efesaid answer worked for solving issues with the ssh connection test. By the way, you can add a -v to see what keys (by name) are being attempted and why the connection fails.

However, when pushing to bitbucket, using git@bitbucket.org:user/repo.git, it seems that the host is not precisely bitbucket.org so I still was getting permission denied problems. I solved them by (re)naming my key to id_rsa (this is the key name that was being attempted in the ssh test).

This works if you have a single rsa key. For multiple keys, perhaps the host in the config file must be

bitbucket.org:username

but I am no sure this is unde


I think that the bitbucket instructions are best. Check if ssh is installed and if not install it

krasen@krasen-Lenovo-Y50-70:~$ ssh -v
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I xxxxx] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

krasen@krasen-Lenovo-Y50-70:~$ ls -a ~/.ssh 
.  ..  google_compute_engine  google_compute_engine.pub  identity  identity.pub  known_hosts

krasen@krasen-Lenovo-Y50-70:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/krasen/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/krasen/.ssh/id_rsa.
Your public key has been saved in /home/krasen/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx krasen@krasen-Lenovo-Y50-70
The key's randomart image is:
+--[ RSA 2048]----+
|              .  |
|           xx x  |
|          xxxxx  |
|       xxxxxxxxx |
|      .xxxxxxxx  |
|       xxxxx     |
|     xxxxxxxxxxxx|
|    xxxxxxxxxxxxx|
|     xxxxxxxxxxx |
+-----------------+                                                                                                                                  
krasen@krasen-Lenovo-Y50-70:~$ ls -la ~/.ssh                                                                                                         
total 40
drwx------   2 krasen krasen 4096 Jun 29 14:30 .
drwxr-xr-x 110 krasen krasen 4096 Jun 29 13:00 ..
-rw-------   1 krasen krasen 1675 Mar 18  2015 google_compute_engine
-rw-r--r--   1 krasen krasen  409 Mar 18  2015 google_compute_engine.pub
-rw-------   1 krasen krasen 1679 Jun 29 13:15 identity
-rw-r--r--   1 krasen krasen  409 Jun 29 13:15 identity.pub
-rw-------   1 krasen krasen 1679 Jun 29 14:30 id_rsa
-rw-r--r--   1 krasen krasen  409 Jun 29 14:30 id_rsa.pub
-rw-r--r--   1 krasen krasen 4698 Jun 29 13:16 known_hosts

krasen@krasen-Lenovo-Y50-70:~$ ssh-agent /bin/bash

to check if the agent is started

krasen@krasen-Lenovo-Y50-70:~$ ps -e | grep [s]sh-agent 
26503 ?        00:00:00 ssh-agent
krasen@krasen-Lenovo-Y50-70:~$ ssh-add ~/.ssh/id_rsa
Identity added: /home/krasen/.ssh/id_rsa (/home/krasen/.ssh/id_rsa)
krasen@krasen-Lenovo-Y50-70:~$ ssh-add -l 
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /home/krasen/.ssh/id_rsa (RSA)
krasen@krasen-Lenovo-Y50-70:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

get this key and add it as key in the bitbucket settings


I got round a similar issue where I had previously used HTTPS to access the repository and had to switch to SSH by setting the url like so;

git remote set-url origin ssh://git@bitbucket.org/...

Make sure your have switched to the correct user on terminal.

In my case root user was not the one which has ssh keys added at the bitbucket settings panel. Running git with sudo makes it run from root user and my own user was the one who has keys added.


My problem was to do with permissions.

My project directory was owned by root, but I was logged in as ubuntu. I would get PERMISSION DENIED if I typed in a git command, e.g. git pull origin master, so I used sudo git pull origin master.

I had registered ubuntu's SSH key from /home/ubuntu/.ssh/id_rsa.pub with BitBucket.

However, I was using sudo. So the SSH key used was actually /home/root/.ssh/id_rsa.pub which was different to what BitBucket had.

Solution for my case

chown -R username_here:username_here project/folder/here

Now it should work if you don't prepend sudo

OR give BitBucket root's key


I was getting same error when trying to pull from bitbucket server.This answer helped me https://stackoverflow.com/users/2957677/toby-mellor

instead of using sudo git pull origin branch_name

i changed to git pull origin branch_name

That fixed my problem

ReferenceURL : https://stackoverflow.com/questions/17643855/cant-push-to-bitbucket-permission-denied-publickey

반응형