2015-07-27 14 views
5

Một phần thông tin khá có liên quan là tôi có cấu hình ssh tùy chỉnh được thiết lập cho bitbucket. Trong tệp '.ssh/config' của tôi, tôi có các thông tin sau:Bitbucket ssh khóa công khai đang bị từ chối nhưng thử nghiệm ssh của họ kết nối với không có vấn đề

[[email protected]]$ cat ~/.ssh/config 
Host bitbucket 
    Hostname  bitbucket.org 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 

Quyền trên tệp này chắc chắn đúng theo như ssh có liên quan (Tôi chủ động sử dụng các mục nhập khác trong tệp cấu hình). Bây giờ khi tôi thêm nguồn gốc từ xa trong git Tôi đã từng bitbucket thay vì bitbucket.org:

git remote add origin bitbucket:ivanna/my-repo.git 

nhưng khi tôi cố gắng đẩy tôi nhận được lỗi sau:

Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

Vì vậy, nó có vẻ như tôi đã không Không thêm khóa công khai của tôi hoặc gì đó, phải không? Nhưng tôi chắc chắn đã làm. Và khi bạn tìm kiếm thêm thông tin, bạn tìm thấy trang này về lỗi (https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860). Và khi tôi làm những gì họ nói để làm để kiểm tra chìa khóa:

[[email protected]]$ ssh -T [email protected] 
logged in as ivanna. 

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

Nó có thể đăng nhập tốt, có vẻ như. Vậy ... tại sao không thúc đẩy công việc? Các liên kết ở trên đề cập rằng nó có thể là một vấn đề quyền về dự án chính nó nhưng tôi thiết lập các điều khoản như mọi người đề nghị và nó đã không làm gì. Có ai biết chuyện gì đang diễn ra không?

Trả lời

6
ssh -T [email protected] 

Bạn sử dụng [email protected] khi đăng nhập qua SSH, nhưng trong điều khiển từ xa URL bạn thêm vào Git, bạn không chỉ định tên người dùng. Vì cấu hình cũng không bao gồm một cấu hình, Git sẽ không biết tên người dùng nào để đăng nhập.

Thay đổi URL này:

git remote add origin [email protected]et:ivanna/my-repo.git 

Ngoài ra, bạn có thể thêm người dùng đến cấu hình SSH:

Host bitbucket 
    Hostname  bitbucket.org 
    User   git 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 
+0

Cảm ơn bạn, điều đó thật đáng xấu hổ. – Ivanna

3

Nếu bạn đã làm điều này:

git remote add origin bitbucket:ivanna/my-repo.git 

Bạn chưa nói git mà nó cần phải kết nối như là một cái gì đó khác ngoài tên người dùng của bạn. Bạn có thể làm điều này trong tập tin .ssh/config của bạn như thế này:

Host bitbucket 
    User git 
    Hostname  bitbucket.org 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 

Hoặc trong dòng lệnh git remote add của bạn như thế này:

git remote add origin [email protected]:ivanna/my-repo.git 
+0

Vâng, đó là 'git @ ', anh ấy sử dụng git không' hg' . – Will

+0

Nếu bạn đi và đọc câu hỏi (w/đầu ra từ bitbucket), bạn sẽ thấy rằng hoặc là nên làm việc. Vì OP đang sử dụng 'hg @' trong câu hỏi, tôi bị mắc kẹt với điều đó. Tôi đồng ý nó khó hiểu. Tôi sẽ chỉ cập nhật câu trả lời. – larsks

+0

Ah, tôi hiểu rồi. Cảm ơn bạn đã làm rõ! – Will

Các vấn đề liên quan