Gần đây tôi đã không thể sao chép hoặc đẩy vào github và tôi đang cố gắng tìm ra nguyên nhân gốc rễ.
Đây là trên cửa sổ
Tôi có cygwin + git cũng như msysgit.
Msysgit đã được cài đặt với các tùy chọn sau:
- OpenSSH
- Sử dụng Git từ Windows Command Prompt
Điều đó mang lại cho tôi 4 môi trường để thử sử dụng git trong:
- Dấu nhắc cmd của Windows
- Quyền hạn
- Git Bash
- Cygwin
Bằng cách nào đó tôi đã xoay sở để có được vị trí mà khi tôi cố sao chép kho lưu trữ bằng msysgit, cmd.exe hoặc Powershell, tôi gặp phải lỗi sau:
> Initialized empty Git repository in
> C:/sandbox/SomeProject/.git/
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0644 for
> '/c/Users/Ben/.ssh/id_rsa' are too
> open. It is recommended that your
> private key files are NOT accessible
> by others. This private key will be
> ignored. bad permissions: ignore key:
> /c/Users/Ben/.ssh/id_rsa Permission
> denied (publickey). fatal: The remote
> end hung up unexpectedly
Đây là sử dụng thư mục .ssh trong thư mục c: \ users \ ben \ của tôi, đây là những gì được sử dụng bởi msysgit. Tôi nghi ngờ cygwin hoạt động vì thư mục .ssh nằm ở nơi khác, nhưng tôi không chắc tại sao
Trong Git Bash, tôi kiểm tra các quyền:
$ ls -l -a ~/.ssh
Cung cấp cho tôi:
drwxr-xr-x 2 Ben Administ 0 Oct 12 13:09 .
drwxr-xr-x 34 Ben Administ 8192 Oct 12 13:15 ..
-rw-r--r-- 1 Ben Administ 1743 Oct 12 12:36 id_rsa
-rw-r--r-- 1 Ben Administ 399 Oct 12 12:36 id_rsa.pub
-rw-r--r-- 1 Ben Administ 407 Oct 12 13:09 known_hosts
Các quyền này rõ ràng là quá thoải mái. Làm thế nào họ có được theo cách này, tôi không có ý tưởng.
Tôi có thể cố gắng thay đổi chúng ...
$ chmod -v -R 600 ~/.ssh
cho tôi biết:
mode of `.ssh' changed to 0600 (rw-------)
mode of `.ssh/id_rsa' changed to 0600 (rw-------)
mode of `.ssh/id_rsa.pub' changed to 0600 (rw-------)
mode of `.ssh/known_hosts' changed to 0600 (rw-------)
Nhưng nó dường như không có tác dụng. Tôi vẫn nhận được lỗi tương tự, và làm
$ ls -l -a ~/.ssh
mang lại các quyền như trước.
CẬP NHẬT:
Tôi đã cố gắng sửa quyền cho các tệp đó trong cygwin và cygwin báo cáo quyền của họ một cách chính xác, gitbash không: văn bản thay thế http://cdn.cloudfiles.mosso.com/c54102/app7962031255436124.jpg
Bất kỳ ý tưởng về làm thế nào tôi thực sự có thể sửa chữa các quyền này?