Tôi đã thử googling và đọc qua https://help.github.com/en/articles/connecting-to-github-with-ssh và nhiều hướng dẫn khác nhau. Tôi không thể git push -u origin master
hoặc git push origin master
(cùng một lệnh).
Tôi đã có tài khoản git của mình trong ít nhất 2 năm. Tôi đã thành công trong việc tạo repos và push -u origin master
tốt trên máy tính xách tay của mình nhưng trên máy tính để bàn này tôi gặp sự cố.
Đây là những gì tôi đã thử:
1. Tôi đã thiết lập tên người dùng git của mình
2. Tôi đã thiết lập email người dùng git của mình
3. Tôi đã tải lên nội dung của /home/meder/.ssh/id_rsa.pub lên trang tài khoản của github. Tôi đã xác minh tôi không dán bất kỳ khoảng trắng nào
4. Tôi đã tạo một ~ / .ssh / config với các nội dung sau:
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Tôi đã chỉnh sửa .ssh thành 700, id_rsa 600
5. Tôi đã thêm nguồn gốc từ xa thích hợp mà không mắc lỗi chính tả :git remote add origin git@github.com:medero/cho.git
6. Để xác nhận # 5, đây là .git / config của tôi. Thư mục đúng và không phải thư mục khác:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:medero/cho.git
7. ssh git@github.com -v
cho tôi xác thực thành công
8. Một điều kỳ lạ là, tên người dùng mà tôi chào đón đã t
gắn với nó. Tên người dùng github của tôi là medero
, không medert
.
Xin chào! Bạn đã xác thực thành công, nhưng GitHub không cung cấp quyền truy cập shell.
9. Tôi không đứng sau proxy hoặc tường lửa
10. Chìa khóa được cung cấp, đây là đầu ra từ -v
:
debug1: Host 'github.com' is known and matches the RSA host key. debug1: Found key in /home/meder/.ssh/known_hosts:58 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/meder/.ssh/id_rsa debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Server accepts key: { some stuff, dont know if i should share it debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Authentication succeeded (publickey).
11. Đây là các lệnh tôi đã sử dụng
mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master
12. Tôi không muốn tạo khóa SSH mới.
13. Nếu tôi git clone bằng ssh và thực hiện chỉnh sửa, cam kết và git đẩy, tôi sẽ nhận được điều tương tự chính xác.
14. Đây là lỗi thực tế:
$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly
15. Tôi đã thiết lập tên người dùng github và mã thông báo github của mình:
$ git config --global github.user medero $ git config --global github.token 0123456789yourf0123456789token Đặt mã thông báo GitHub cho tất cả các trường hợp git trên hệ thống
16. Tôi đã xác nhận tên người dùng github của tôi là KHÔNG mederot
và mã thông báo github của tôi LÀ ĐÚNG trên mỗi trang tài khoản của tôi (xác nhận 2 ký tự đầu tiên và 2 ký tự cuối cùng).
17. Để xác nhận # 16, ~ / .gitconfig chứa
[github]
token = mytoken...
user = medero
18. Tôi đã làm ssh-key add ~/.ssh/id_rsa
nếu điều đó thậm chí cần thiết ...
LÝ THUYẾT:
Tôi nghi ngờ có điều gì đó đáng nghi bởi vì khi tôi nhận được ssh xác thực, lời chào của người dùng mederot
và không medero
, đó là acct của tôi. Có thể một cái gì đó trong tài khoản github của tôi có thể được lưu trữ không chính xác?
Tôi cũng nghi ngờ một số sự kỳ lạ của bộ nhớ đệm ssh cục bộ bởi vì nếu tôi mv ~/.ssh/id_rsa KAKA
và mv ~/.ssh/id_rsa.pub POOPOO
, và ssh git@github.com -v
nó vẫn xác thực tôi và nói rằng nó phục vụ /home/meder/.ssh/id_rsa của tôi khi tôi đổi tên?! Nó phải được lưu trữ?!