2010-03-30 35 views
8

Tôi không thể đăng nhập vào github bằng các khóa ssh được tạo. Tôi đã theo hướng dẫn này: http://help.github.com/linux-key-setup nhưng ở bước:Git và ssh ủy quyền

ssh [email protected]

tôi nhận được:

Agent thừa nhận thất bại trong việc ký sử dụng chìa khóa. Quyền bị từ chối (khóa công khai).

Điều gì đang làm phiền? Và, tất nhiên, tôi đang thêm email người dùng của riêng mình.


Đã thử khóa dsa-key, điều tương tự.

Trả lời

4

Từ troubleshooting guide:

Permission denied (PublicKey)

Điều này thường xảy ra khi ssh không có thể tìm thấy chìa khóa của bạn. Đảm bảo rằng khóa của bạn là ở vị trí mặc định, ~/.ssh. Nếu bạn chạy ssh-keygen lần nữa và chỉ cần nhấn enter ở cả 3 lời nhắc, nó sẽ tự động được đặt ở đây . Sau đó, bạn có thể thêm nội dung của id_rsa.pub vào khóa github của tôi. Nếu id_rsa.pub không hãy thử làm việc id_dsa.pub. Bạn có thể cần phải tạo khóa dsa mới với ssh-keygen -t dsa nếu bạn chỉ có khóa rsa.

Nếu bạn vẫn gặp sự cố và không có cách nào ở trên hiệu quả, bạn có thể có khóa danh sách đen từ lỗi debian mở-ssh. bạn nên cập nhật mở-ssh và tạo lại khóa của mình.

Vì vậy, chỉ để kiểm tra - các khóa của bạn có sẵn dưới ~/.ssh/như id_rsa và id_rsa.pub hay không, bạn có đang chỉ định việc sử dụng của chúng không?

+0

Tôi đã phát hiện ra rằng trước khi gửi bài tại đây. Tất nhiên, chìa khóa của tôi nằm trong ~/.ssh. – Ockonal

+1

Tuyệt vời, sau đó, là các perms của dir đó thiết lập để 0600? Chỉ cần chạy qua những thứ có thể sai vì có vẻ như ssh-agent hoặc ssh không chọn khóa của bạn. –

0

Lưu ý rằng ssh-agent là mỗi phiên (mỗi thiết bị đầu cuối). Sử dụng trình quản lý tác nhân ssh như keychain (xem tài liệu hướng dẫn về cách thiết lập) để có quyền truy cập thông qua bất kỳ phiên nào (từ bất kỳ cụm từ nào).

5

Đây là sự cố ubuntu. Xuất "SSH_AUTH_SOCK = 0" đã giải quyết được sự cố cho tôi. Bạn có thể tìm thêm chi tiết tại - https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/201786.

+1

Cảm ơn bạn! Tôi đã làm theo rất nhiều lời khuyên khác nhau về cách tạo khóa SSH nhưng nó đã được xuất khẩu đơn giản này đã sửa nó trên Ubuntu. – pmont

12

Sau khi tạo các ssh phím Tôi thực thi lệnh được liệt kê dưới đây như được đề xuất bởi jamesw.

$ ssh-add ~/.ssh/id_rsa 

Tôi đã nhập mật khẩu của mình. Sau đó thử lại để sao chép kho chứa Heroku. Lần này nó hoạt động tốt.

2

Tôi đã có thể nhận được gitlab làm việc nhờ chủ đề này (tôi biết đó không phải là github).

Tôi cũng tìm thấy câu trả lời của @jamesw là chính xác.

Tôi đã kết thúc việc xóa tệp known_hosts và tạo lại khóa ssh của mình bằng cùng mật khẩu với tài khoản gitlab của tôi.

Sau đó, tôi đã thực hiện ssh-add và đã thực hiện git push -u origin master. Sự thành công!

Cảm ơn sự giúp đỡ của mọi người.

CẬP NHẬT:
Tôi quyết định làm lại khóa ssh mà không cần mật khẩu và lại gặp phải lỗi này.

Lần này, tôi có thể sao chép số known_hosts cũ của mình sang .ssh/ mới và chỉ cần chạy ssh-add.

1

Vấn đề này xảy ra chủ yếu là do các nguyên nhân sau:

  • Công chúng và tư nhân cặp khóa là sai. Bạn phải xác minh khóa công khai chính trên máy chủ/tài khoản git của bạn nơi bạn đã đặt khóa công khai. Ngay cả một không gian nhỏ hoặc tab sẽ dẫn đến lỗi.
  • Nếu bạn chắc chắn khóa công khai của mình là chính xác, hãy kiểm tra định dạng khóa công khai trong thư mục ~/.ssh trong máy của bạn. Đối với openssh bạn không thể sử dụng khóa công khai ở định dạng puttygen và visa-versa. Để thay đổi định dạng mà bạn có thể sử dụng lệnh sau đây sử dụng của bạn tin chính

    $ ssh-keygen -e -f ~/.ssh/id_rsa> ~/.ssh/id_rsa_com.pub
    $ ssh-keygen -i - f ~/.ssh/id_rsa_com.pub> ~/.ssh/id_rsa.pub

  • Cuối cùng, hãy kiểm tra xem bạn đã thêm khóa của mình vào ứng dụng khách ssh trong hệ thống chưa. Bạn có thể làm như vậy bằng cách sử dụng các lệnh sau

    $ eval "$ (ssh-agent -s)"

    $ ssh-add

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