Các bản sao GitHub được nhân bản yêu cầu nhập mật khẩu, trong khi ban đầu được tạo không


9

Tôi vừa bị mất một loạt các kho lưu trữ từ đĩa của mình, vì vậy tôi đã nhân bản chúng từ GitHub. Hiện tại họ đang yêu cầu tên người dùng và mật khẩu mỗi khi tôi đẩy thứ gì đó lên GitHub. Những người chưa bị xóa không làm điều đó.
Giải pháp duy nhất tôi đã đọc để thoát khỏi dấu nhắc tên người dùng / mật khẩu là tạo khóa ssh. Vấn đề là tôi đã có chìa khóa, nếu không tôi không thể đẩy mà không có lời nhắc trong các repos đó, rằng tôi đã không sao chép.

Tôi đã xem xét git confighai kho lưu trữ của tôi, một kho mà tôi có thể đẩy mà không cần mật khẩu và một kho mà tôi đã nhân bản. Sự khác biệt duy nhất là branch.master.remotebranch.master.mergecác cài đặt, mà tôi không đặt, làm cho git configgiống nhau. Nhưng lời nhắc vẫn còn đó.

Tôi thậm chí không chắc chắn rằng việc tạo khóa ssh mới sẽ hoạt động. Những lựa chọn của tôi là gì?


Vui lòng xem help.github.com/ssh-issues và cung cấp thêm chi tiết. Điều gì xảy ra khi bạn cố gắng SSH?

Câu trả lời:


21

Tôi đoán:

Các kho lưu trữ cũ của bạn đã sử dụng điều khiển từ xa SSH ( git@github.com:hoặc ssh://git@github.com/tiền tố), sử dụng xác thực khóa công khai. (Trên thực tế, máy chủ Github SSH không bao giờ yêu cầu mật khẩu.)

Các kho lưu trữ mới của bạn sử dụng điều khiển từ xa HTTP ( ), chỉ hỗ trợ xác thực HTTP Basic dựa trên mật khẩu và không sử dụng các khóa SSH của bạn.https://username@github.com/

Thay đổi URL từ xa của bạn để sử dụng lại SSH. Sử dụng git remote set-urlhoặc chỉnh sửa .git/configđể làm điều này. Thay thế

https: // tên người dùng @ github.com / tên người dùng /repo.git

chỉ với

git@github.com: tên người dùng /repo.git

Bạn thậm chí có thể có một mục trong ~/.gitconfigđó yêu cầu git dịch các URL từ xa từ HTTP hoặc Git sang SSH.

Bằng cách này, nếu kho lưu trữ của bạn được định cấu hình cho điều khiển từ xa HTTP hoặc Git, git sẽ bỏ qua cài đặt đó khi đẩy và sẽ sử dụng SSH thay thế.

[url "git@github.com:"]
    pushInsteadOf = git://github.com/
    pushInsteadOf = https://github.com/

( insteadOf =Cũng có thể cài đặt để ghi đè cả kéo đẩy.)

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.