Trong trường hợp bạn thực sự đang sử dụng URL SSH, nhưng vẫn được yêu cầu tên người dùng và mật khẩu khi git đẩy:
git remote set-url origin git@github.com:<Username>/<Project>.git
Bạn nên thử khắc phục sự cố với:
ssh -vT git@github.com
Dưới đây là một phần của đầu ra mẫu:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
Tôi thực sự đã thêm khóa công khai vào GitHub trước đây và tôi cũng có khóa riêng ở địa phương. Tuy nhiên, khóa riêng của tôi có tên khác /c/Users/Yuci/.ssh/github_rsa
.
Theo kết quả đầu ra mẫu, Git đang thử /c/Users/Yuci/.ssh/id_rsa
, điều mà tôi không có. Vì vậy, tôi chỉ đơn giản là có thể sao chép github_rsa
vào id_rsa
trong cùng thư mục.
cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa
Bây giờ khi tôi chạy ssh -vT git@github.com
lại, tôi có:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...
Và bây giờ tôi có thể đẩy sang GitHub mà không bị yêu cầu tên người dùng và mật khẩu :-)
https://github...
trong điều khiển từ xa của bạn. Họ cũng nên theogit@github...
định dạng.