Không thể đẩy vào kho Git trên Bitbucket


143

Tôi đã tạo một kho lưu trữ mới và tôi đang gặp phải một lỗi lạ. Tôi đã sử dụng Git trước đây trên Bitbucket nhưng tôi chỉ định dạng lại và bây giờ tôi dường như không thể khiến Git hoạt động. Sau khi thực hiện một cam kết, tôi đã phải thêm email và tên của mình vào toàn cầu, nhưng sau đó nó đã được cam kết tốt.

Khi tôi cố gắng sử dụng lệnh

git push origin master

nó không hoạt động. Tôi nhận được tin nhắn này:

$ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

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

Tôi thua lỗ ở đây. Người bạn mà tôi đang chia sẻ kho lưu trữ này, đã truy cập nó tốt và được chuyển đến nó tốt, nhưng tôi dường như không thể làm cho nó hoạt động được.


4
bạn có thể sử dụng https thay vì gits trong url từ xa của mình. ví dụ: yourusername@bitbucket.org/teamname/reposeective.git
Ali

1
Tôi đã giải quyết vấn đề tương tự bằng cách theo sát hướng dẫn của Atlassian về cách thiết lập SSH trên máy của bạn: confluence.atlassian.com/display/BITBucksET/set+up+SSH+for+Git
sws

vấn đề tương tự: stackoverflow.com/questions/12940626/
Mạnh

Câu trả lời:


229

Viết bài này cho những người mới bắt đầu với Git và BitBucket trên Windows & những người không quen thuộc với Bash (vì đây là vấn đề phổ biến và là kết quả cao của Google khi tìm kiếm thông báo lỗi trong câu hỏi).

Đối với những người không quan tâm đến HTTPS và những người đang tìm cách khắc phục nhanh, hãy cuộn xuống cuối câu trả lời này để được hướng dẫn trong FOR THE LAZY

Đối với những người đang tìm cách giải quyết vấn đề thực tế, hãy làm theo các hướng dẫn dưới đây:

Khắc phục sự cố SSH nhanh nhất có thể

Đây là một bộ hướng dẫn xuất phát từ URL được liên kết bởi VonC. Nó đã được sửa đổi để trở nên kiên cường và cô đọng nhất có thể.

  • Không nhập $hoặc bất kỳ dòng nào không bắt đầu $( $có nghĩa đây là nội dung bạn nhập vào GitBash).

  • Mở GitBash

Đặt thông tin toàn cầu của bạn nếu bạn chưa có:

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

Kiểm tra OpenSSH:

$ ssh -v localhost
OpenSSH_4.6p1, OpenSSL...

Thấy cái gì như vậy không?

  • Có: Tiếp tục.
  • Không: Bỏ qua phần FOR THE LAZY hoặc theo dõi bài viết được liên kết từ VonC.

Xem bạn đã tạo khóa chưa:

$ ls -a ~/.ssh/id_*

Nếu có hai tệp, bạn có thể bỏ qua bước tiếp theo.

$ ssh-keygen

Để lại mọi thứ như mặc định, nhập cụm mật khẩu. Bây giờ bạn sẽ thấy kết quả với lệnh này:

$ ls -a ~/.ssh/id_*

Kiểm tra tệp cấu hình hiện có:

$ ls -a ~/.ssh/config

Nếu bạn nhận được kết quả, hãy kiểm tra tệp này để biết thông tin sai lệch. Nếu không có tệp nào tồn tại, hãy làm như sau:

$ echo "Host bitbucket.org" >> ~/.ssh/config
$ echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config

Xác nhận nội dung:

$ cat ~/.ssh/config

Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa
  • Không gian duy nhất trước "IdentityFile" là bắt buộc.

Kiểm tra xem bạn có bắt đầu tác nhân SSH mỗi khi bạn chạy GitBash không:

$ cat ~/.bashrc
  • Nếu bạn thấy một hàm được gọi start_agent, bước này đã được hoàn thành.
  • Nếu không có tập tin, tiếp tục.
  • Nếu có một tệp không chứa chức năng này, bạn đang ở trong một tình huống khó khăn. Có thể an toàn để thêm vào nó (sử dụng các hướng dẫn bên dưới) nhưng có thể không! Nếu không chắc chắn, hãy tạo bản sao lưu .bashrc của bạn trước khi làm theo các hướng dẫn bên dưới hoặc bỏ qua phần FOR FOR LAZY .

Nhập thông tin sau vào GitBash để tạo tệp .bashrc của bạn:

$ echo "SSH_ENV=$HOME/.ssh/environment" >> ~/.bashrc
$ echo "" >> ~/.bashrc
$ echo "# start the ssh-agent" >> ~/.bashrc
$ echo "function start_agent {" >> ~/.bashrc
$ echo "    echo \"Initializing new SSH agent...\"" >> ~/.bashrc
$ echo "    # spawn ssh-agent" >> ~/.bashrc
$ echo "    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > \"\${SSH_ENV}\"" >> ~/.bashrc
$ echo "    echo succeeded" >> ~/.bashrc
$ echo "    chmod 600 \"\${SSH_ENV}\"" >> ~/.bashrc
$ echo "    . \"\${SSH_ENV}\" > /dev/null" >> ~/.bashrc
$ echo "    /usr/bin/ssh-add" >> ~/.bashrc
$ echo "}" >> ~/.bashrc
$ echo "" >> ~/.bashrc
$ echo "if [ -f \"\${SSH_ENV}\" ]; then" >> ~/.bashrc
$ echo "     . \"\${SSH_ENV}\" > /dev/null" >> ~/.bashrc
$ echo "     ps -ef | grep \${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {" >> ~/.bashrc
$ echo "        start_agent;" >> ~/.bashrc
$ echo "    }" >> ~/.bashrc
$ echo "else" >> ~/.bashrc
$ echo "    start_agent;" >> ~/.bashrc
$ echo "fi" >> ~/.bashrc

Xác minh tệp đã được tạo thành công (tệp của bạn chỉ khác ở nơi "yourusername" xuất hiện):

$ cat ~/.bashrc
SSH_ENV=/c/Users/yourusername/.ssh/environment

# start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."
    # spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi
  • Đóng GitBash và mở lại.
  • Bạn nên được hỏi về cụm mật khẩu của bạn (đối với tệp SSH bạn đã tạo trước đó).
  • Nếu không có lời nhắc, bạn đã không đặt cụm mật khẩu hoặc GitBash không chạy tập lệnh .bashrc (sẽ là số lẻ nên hãy xem xét nội dung của nó!). Nếu bạn đang chạy cái này trên máy Mac (OS X), .bashrcthì không được thực thi theo mặc định - .bash_profilelà. Để khắc phục điều này, hãy đặt đoạn mã này vào .bash_profile:[[ -s ~/.bashrc ]] && source ~/.bashrc

Nếu bạn không nhập cụm mật khẩu, bạn sẽ thấy một cái gì đó như thế này khi bắt đầu GitBash:

Initializing new SSH agent...
succeeded
Identity added: /c/Users/yourusername/.ssh/id_rsa (/c/Users/yourusername/.ssh/id_rsa)

Và sau đây sẽ trả về kết quả:

$ ssh-add -l

Tuy nhiên, nếu bạn nhận được những điều sau đây ssh-add -l:

Could not open a connection to your authentication agent.

Nó không sinh ra tác nhân SSH và .bashrc của bạn có thể là nguyên nhân.

Nếu, khi bắt đầu GitBash, bạn sẽ thấy điều này:

Initializing new SSH agent...
sh.exe": : No such file or directory

Điều đó có nghĩa là bạn đã quên thoát $ bằng \ khi lặp lại tệp (nghĩa là các biến đã được mở rộng). Tạo lại .bashrc của bạn để giải quyết vấn đề này.

Xác minh tác nhân đang chạy và khóa của bạn đã được thêm:

$ ssh-add -l

Nên trả lại một cái gì đó tương tự như thế này:

2048 0f:37:21:af:1b:31:d5:cd:65:58:b2:68:4a:ba:a2:46 /Users/yourusername/.ssh/id_rsa (RSA)

Chạy lệnh sau để lấy khóa công khai của bạn:

$ cat ~/.ssh/id_rsa.pub

(cần trả lại một cái gì đó bắt đầu bằng "ssh-rsa ......"

  • Nhấp vào biểu tượng cửa sổ GitBash
  • Nhấp vào Chỉnh sửa
  • Nhấp vào Đánh dấu
  • Làm nổi bật khóa chung bằng chuột của bạn (bao gồm ssh-rsabit đầu và == youremail@yourdomain.combit sau )
  • Nhấp chuột phải vào cửa sổ (thực hiện một bản sao)
  • Dán khóa công khai của bạn vào Notepad.
  • Xóa tất cả các dòng mới sao cho nó chỉ là một dòng duy nhất.
  • Nhấn CTRL+Asau đó CTRL+Cđể sao chép khóa công khai một lần nữa vào clipboard của bạn.

Định cấu hình khóa riêng của bạn với BitBucket bằng cách thực hiện các bước sau:

  • Mở trình duyệt của bạn và điều hướng đến trang BitBucket.org
  • Đăng nhập vào BitBucket.org
  • Nhấp vào hình đại diện của bạn (trên cùng bên phải)
  • Nhấp vào Quản lý tài khoản
  • Nhấp vào Khóa SSH (bên dưới Bảo mật trên menu bên trái)
  • Nhấp vào Thêm khóa
  • Nhập Global Public Keycho Nhãn
  • Dán khóa công khai bạn đã sao chép từ Notepad

Một Global Public Keymục nên được hiển thị trong danh sách các phím của bạn.

  • Quay trở lại GitBash
  • cd vào thư mục chứa dự án của bạn
  • Thay đổi nguồn gốc của bạn thành biến thể SSH (sẽ không có nếu bạn chạy các bước CHO THE LAZY )

Kiểm tra điều khiển từ xa của bạn:

$ git remote -v

Chuyển sang url SSH:

$ git remote set-url origin git@bitbucket.org:youraccount/yourproject.git

Kiểm tra mọi thứ đang hoạt động:

$ git remote show origin

Bạn sẽ thấy một cái gì đó như thế này:

Warning: Permanently added the RSA host key for IP address '...' to the list of known hosts.
* remote origin
  Fetch URL: git@bitbucket.org:youruser/yourproject.git
  Push  URL: git@bitbucket.org:youruser/yourproject.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (fast-forwardable)

LÀM XONG!

Bạn có thể chọn sử dụng HTTPS thay vì SSH. Nó sẽ yêu cầu bạn nhập mật khẩu của bạn trong các hoạt động từ xa (nó được lưu tạm thời sau khi bạn nhập mật khẩu một lần). Đây là cách bạn có thể định cấu hình HTTPS:

CHO LAZY

Bạn nên khắc phục sự cố SSH như được mô tả bởi VonC; tuy nhiên, nếu bạn đang vội vã cam kết và không có công cụ / thời gian / kiến ​​thức để tạo khóa công khai mới ngay bây giờ , hãy đặt nguồn gốc của bạn thành phương án thay thế HTTPS:

> https://accountname@bitbucket.org/accountname/reponame.git

Sử dụng một công cụ GUI như TortoiseGit hoặc các công cụ dòng lệnh .

Dưới đây là tài liệu của URL nguồn gốc thay thế này.

Dòng lệnh để thêm một nguồn gốc nếu không tồn tại:

git remote add origin https://accountname@bitbucket.org/accountname/reponame.git

Dòng lệnh để thay đổi nguồn gốc hiện có:

git remote set-url origin https://accountname@bitbucket.org/accountname/reponame.git

LƯU Ý: tên tài khoản của bạn không phải là email của bạn.

Bạn cũng có thể muốn đặt thông tin toàn cầu của mình:

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

Sau đó thử lại lần nữa (không cần phải cam kết lại)

git push origin master

echo "Host bitbucket.org" >> ~ / .ssh.config, không nên kéo dài '.' là một '/'?
Peter

1
Thỉnh thoảng, bạn đã thêm mọi thứ được đề cập ở trên ~/.bashrcnhưng khi bạn chạy lệnh ssh-all -lNó vẫn hiển thị No agent Trong trường hợp đó, hãy thử lệnh này ssh-agent /bin/bashvà nó sẽInitializing new SSH agent...
shinesecret

5
Một trong những câu trả lời hay nhất tôi từng gặp trên StackOverflow
Sambhav Sharma

1
@JGallardo - Câu hỏi hay! Tin tốt là không. Đó là các biến trong các tập lệnh bash shell - chúng tương tự như các biến môi trường trong các tệp bó.
Graeme Wicksted

1
Thực tế rằng đây không phải là câu trả lời được chấp nhận làm tổn thương trái tim tôi. Tuyệt vời viết!
ruby_newbie

58

Lỗi này cũng xảy ra nếu bạn quên thêm khóa riêng vào ssh-agent. Làm điều này với:

ssh-add ~/.ssh/id_rsa

4
Đó là câu trả lời trong trường hợp của tôi, một điều tôi luôn quên khi tôi tạo một khóa mới.
amertkara

1
Đây là những gì đã giúp sau khi đi qua bài viết ở trên
Tony Merritt

nó hoạt động với tôi :) nhưng bạn cần chắc chắn rằng bạn đã có khóa riêng ssh trong thư mục cục bộ và khóa chung được đăng ký trong tài khoản bitbucket của bạn
Daniel

25

Định dạng lại có nghĩa là bạn có thể đã xóa các khóa ssh công khai và riêng tư (trong ~ / .ssh).

Bạn cần tạo lại chúng và xuất bản khóa ssh công khai trên hồ sơ BitBucket của bạn, như được ghi trong " Sử dụng giao thức SSH với Bitbucket ", sau " Thiết lập SSH cho Git bằng GitBash ".

Tài khoản-> Quản lý tài khoản-> Khóa SSH:

http://solveprobols.hydex11.net/_media/solve-probols/crazy-probols/bitbucket_manage_account.png

Sau đó:

http://solveprobols.hydex11.net/_media/solve-probols/crazy-probols/bitbucket_add_ssh.png

Hình ảnh từ " Tích hợp Mercurial / BitBucket với phần mềm JetBrains "


7
Chỉ để thêm một chút cho điều này. Đảm bảo nếu bạn sử dụng BitBucket (như được hiển thị trong ảnh chụp màn hình) rằng bạn thêm khóa SSH vào Khóa SSH của tài khoản (Tài khoản-> Quản lý tài khoản-> Khóa SSH). Thêm nó làm Khóa triển khai thông qua Cài đặt kho lưu trữ sẽ chỉ cho phép khóa đó được sử dụng cho các hoạt động chỉ đọc (không cam kết).
welshk91

@ welshk91 Tôi đồng ý. Tôi đã sửa đổi câu trả lời để thêm hình ảnh chi tiết hơn.
VonC

1
@VonC - cảm ơn bạn đã đăng bài này. Tôi đã cố gắng vô ích để làm cho nó hoạt động trên máy Windows, và điều này cuối cùng đã thực hiện được mẹo. Cảm ơn, Ben
ben18785

21

Tôi đã giải quyết điều này bằng cách loại bỏ điều khiển từ xa bằng cách sử dụng lệnh:

git remote remove origin

và sau đó đã cố gắng thêm từ xa bằng cách sử dụng url https thay vì ssh

git remote add origin httpsUrl

Nó yêu cầu thông tin github. Nhập thông tin đăng nhập và sau đó thử đẩy sang git bằng cách sử dụng:

git push origin master

1
Điều này đã giúp tôi. đây là câu trả lời đúng trong trường hợp của tôi cảm ơn bạn
binsnoel 30/03/2017

Nó làm việc cho tôi. Tôi đã không xóa nguồn gốc, tôi vừa thêm một cái mới
shintaroid

Cảm ơn các phản ứng thẳng về phía trước. Làm việc như một cơ duyên - đó chính xác là những gì tôi đang tìm kiếm.
Alexandra

4

Tôi đã từng gặp vấn đề tương tự. Các khóa SSH của tôi đã được đặt chính xác. Tôi đã sửa vấn đề này như thế này.

Sau khi tạo dự án mới trong Bitbucket, hãy sử dụng bản sao. Nhập lệnh nhân bản trong thiết bị đầu cuối và nó sẽ sao chép dự án trống vào máy tính của bạn. Sau đó, bạn có thể sao chép các tập tin của mình vào thư mục này và bắt đầu cam kết và đẩy sang bitbucket.


1
Cách kỳ lạ. Tôi đã gặp vấn đề tương tự như OP ngày hôm nay, nhưng không cần cài đặt lại hoặc có bất kỳ thay đổi hệ thống nào, các phím của tôi đều ổn. Các git remote addquá trình chỉ không làm việc hôm nay - Tôi đã nhận lỗi auth khi cố gắng đẩy - nhưng xóa .git và sau đó sử dụng git clone& recopying nguồn của tôi (chỉ là một README.md) thay vì hoạt động tốt. Cảm ơn bạn Rafael - Tôi chắc chắn sẽ không nghĩ sẽ thử điều đó nếu không có câu trả lời của bạn.
kris

rất vui vì giải pháp này đã giúp bạn
Rafael

1
Cảm ơn câu trả lời của bạn. Tôi đã có thể khắc phục vấn đề bằng cách chỉ cần tạo một thư mục mới và nhân bản trong thư mục mới đó. mkdir /tmp/JUNK; cd /tmp/JUNK; git clone ...; cd ..; rm -rf JUNK
Dế đỏ


2

Hai lời giải thích nhỏ có thể cứu ai đó sự nhầm lẫn mà tôi đã trải qua:

1 - URL kết nối khác nhau cho HTTPS và SSH

Khi kết nối qua https, bạn sử dụng

https://your_account_name@bitbucket.org/owner-account/repo-name.git

tuy nhiên khi kết nối qua SSH, tên tài khoản luôn là "git"

ssh://git@bitbucket.org/owner-account/repo-name.git

Cố gắng kết nối với SSH với tên tài khoản của bạn ở phía trước sẽ dẫn đến lỗi mà người đăng ban đầu nhận được. Đây là cách bạn có thể thực hiện kiểm tra kết nối với git @, sau đó thử nhầm với tên người dùng của bạn và thấy lỗi.

2 - Khóa SSH thông qua tài khoản nhóm sẽ không được chấp nhận trong năm 2017

Nếu bạn đang thiết lập khóa SSH trên tài khoản nhóm, họ khuyên bạn nên chuyển chúng sang tài khoản cá nhân. Một mẹo hữu ích để tránh e


1

Nếu bạn đang sử dụng SourceTree (Tôi đang sử dụng 2.4.1), tôi đã tìm thấy một cách đơn giản hơn để tạo khóa SSH và thêm nó vào cài đặt Bitbucket của mình. Điều này giải quyết các vấn đề đối với tôi.

  1. Trong SourceTree, đi đến Tùy chọn.
  2. Chuyển đến tab Tài khoản và chọn tài khoản của bạn.
  3. Cần có một tùy chọn để tạo và sao chép khóa SSH vào clipboard.
  4. Khi bạn đã sao chép điều đó, hãy truy cập Bitbucket trong trình duyệt của bạn. Chuyển đến [avatar] -> Cài đặt Bitbucket.
  5. Chuyển đến khóa SSH.
  6. Nhấp vào Thêm khóa
  7. Dán vào khóa bạn đã sao chép.

Tôi đã nhận được email xác nhận từ Bitbucket rằng khóa SSH đã được thêm vào tài khoản của tôi.

Để tham khảo, trên macOS, sử dụng Terminal, bạn có thể sử dụng lệnh sau để xem các phím được tạo cho thiết bị của mình. Đây là nơi lưu trữ khóa bạn tạo.

ls -la ~/.ssh

Như những người khác đã nêu, tài liệu này đã giúp tôi: Sử dụng giao thức SSH với Bitbucket Cloud


1

Nhận ssh được thực hiện như trong hướng dẫn Atlassian và đảm bảo khóa riêng đang được dán trong hồ sơ, không phải trong kho :)


Bạn có thể vui lòng bao gồm một liên kết đến đã nêu Atlassian tutorial? Đó là các bước để dán khóa trong hồ sơ và làm thế nào để tôi biết nếu nó được dán trong kho lưu trữ?
EmmanuelB

Cô ấy ở ngay đây. Chọn sự lựa chọn tốt nhất cho sự kết hợp trường hợp của bạn! confluence.atlassian.com/bitbucket/ từ
Hector

0

Tôi đã gặp lỗi tương tự cho một kho lưu trữ - đột nhiên, tất cả các kho lưu trữ khác vẫn hoạt động tốt khi tôi đang cố gắng thực hiện các cam kết. Vấn đề có vẻ là do khóa SSH (như bạn đã biết từ các bình luận trước đó) - trên bitbucket, View Profilesau đó nhấp vàoManage Account .

Ở phía bên trái, nhấp vào SSH Keyssau đó thêm cái mà bạn có trên hệ thống của mình trong thư mục ~ / .ssh /.

Nếu bạn chưa tạo một tài khoản nào - hãy sử dụng các hướng dẫn từ một trong các bài đăng, nhưng hãy đảm bảo rằng bạn sử dụng tệp id_dsa.pub mặc định hoặc tùy chỉnh có tên, sau đó yêu cầu -itùy chọn có đường dẫn đến khóa khi bạn kết nối tức là

ssh -i ~/.ssh/customkeyname username@ip_address

Khi bạn đã thêm khóa cục bộ vào tài khoản của mình tại bitbucket, bạn sẽ có thể bắt đầu tương tác với kho lưu trữ của mình.


0

Tôi tìm thấy giải pháp hiệu quả nhất cho mình là chia nhỏ cú đẩy thành những phần nhỏ hơn.

và xóa các tệp hình ảnh chụp màn hình lớn (10mb +) khỏi các cam kết

Bảo mật không phải là vấn đề cuối cùng về giới hạn của tệp bin


Bạn nhận được lỗi ở trên, được OP lưu ý và đó không phải là vấn đề bảo mật / xác thực? Đó là kích thước của cam kết của bạn?
JohnZaj

Đó là những gì đã xảy ra
Harry Bosh

0

Lỗi này cũng xuất hiện khi kho lưu trữ không tồn tại. Tôi đã thử tất cả các câu trả lời cho đến khi tôi thấy tên repo bị thiếu dấu gạch ngang


0

Đối với lỗi:

[lỗi] truy cập kho lưu trữ bị từ chối. truy cập thông qua khóa triển khai là chỉ đọc. gây tử vong: Không thể đọc từ kho lưu trữ từ xa. Vui lòng đảm bảo rằng bạn có quyền truy cập chính xác và kho lưu trữ tồn tại.

[error] fatal: Không thể đọc từ kho lưu trữ từ xa.

[lỗi] gây tử vong: Không thể tìm thấy trình trợ giúp từ xa cho 'https'

Tôi đã giải quyết theo các bước sau:

Đầu tiên cài đặt phụ thuộc này:

$ yum install expat expat-devel openssl openssl-devel

Sau đó loại bỏ git:

$ yum remove git git-all

Bây giờ Xây dựng và cài đặt Git trên phiên bản trước, trong trường hợp này:

$ wget https://github.com/git/git/archive/v2.13.0.tar.gz
$ tar zxf v.2.13.0.tar.gz
$ cd git-2.13.0/

Sau đó cho cấu hình:

$ make configure
$ ./configure --with-expat --with-openssl

Và cuối cùng cài đặt như thế này:

$ make 
$ make install install-doc install-html install-info

đó là những thứ khác, giờ hãy định cấu hình repo của bạn bằng https:

$ git remote add origin https://github.com/*user*/*repo*.git
# Verify new remote
$ git remote -v

nếu bạn đã cấu hình một khóa ssh trong máy chủ từ xa, bạn phải xóa nó.


0

Tôi đã gặp lỗi này

Kết nối với bitbucket.org được đóng bởi máy chủ từ xa. gây tử vong: Không thể đọc từ kho lưu trữ từ xa. Hãy chắc chắn rằng bạn có quyền truy cập chính xác.

Sau đó tôi đã thử

git config - người dùng toàn diện.email "you@example.com"

làm việc mà không có dấu ngoặc kép.


0

Tôi thấy dòng lệnh git không ưa thích các khóa được tạo ra (Windows 10).

Xem câu trả lời của tôi trên Serverfault


0

Tôi đang sử dụng macOS và mặc dù tôi đã thiết lập khóa công khai của mình trong bitbucket vào lần tiếp theo tôi cố gắng đẩy tôi đã nhận được

truy cập kho lưu trữ bị từ chối.

gây tử vong: Không thể đọc từ kho lưu trữ từ xa.

Vui lòng đảm bảo rằng bạn có quyền truy cập chính xác và kho lưu trữ tồn tại.

Những gì tôi phải làm là Bước 2. Thêm khóa vào tác nhân ssh như được mô tả trong hướng dẫn thiết lập khóa SSH của Bitbucket và đặc biệt là bước thứ 3:

(chỉ macOS) Để máy tính của bạn nhớ mật khẩu mỗi lần khởi động lại, mở (hoặc tạo) tệp ~ / .ssh / config và thêm các dòng này vào tệp:

Máy chủ *
UseKeychain có

Hy vọng nó sẽ giúp một người dùng mac với cùng một vấn đề.



0

Tôi đã có vấn đề này và tôi nghĩ rằng tôi bị điên. Tôi đã sử dụng SSH được 20 năm. và git trên SSH từ năm 2012 ... nhưng tại sao tôi không thể tải kho lưu trữ bitbucket của mình trên máy tính ở nhà?

tốt, tôi có hai tài khoản bitbucket và đã tải 4 khóa SSH bên trong đại lý của mình. ngay cả khi .ssh / config của tôi được cấu hình để sử dụng khóa bên phải. Khi ssh đang khởi tạo kết nối, nó đã sử dụng chúng theo thứ tự được nạp vào tác nhân. vì vậy tôi đã đăng nhập vào tài khoản bitbucket cá nhân của mình.

sau đó nhận được một lỗi Cấm cố gắng tìm nạp repo. có ý nghĩa.

Tôi đã dỡ chìa khóa từ các đại lý

ssh-add -d ~/.ssh/personal_rsa

sau đó tôi có thể lấy repos.

... Sau đó tôi phát hiện ra rằng tôi chỉ có thể buộc nó sử dụng danh tính được chỉ định

 Host bitbucket.org-user2
     HostName bitbucket.org
     User git
     IdentityFile ~/.ssh/user2
     IdentitiesOnly yes

Tôi không biết về lựa chọn cuối cùng đó IdentitiesOnly

từ tài liệu bitbucket

https://blog.developer.atlassian.com/different-ssh-keys-multipl-bitbucket-accounts/


-1

Cứ thử đi

git remote add origin <HTTP URL>

1
chúng tôi không thích nhập tên người dùng / mật khẩu mỗi khi chúng tôi tìm nạp / đẩy vào bitbucket / github / etc /
Mathieu J.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.