Làm cách nào để tắt lời nhắc mật khẩu khi thực hiện git đẩy / kéo?


34

Mỗi lần tôi muốn pushvà / hoặc pulltừ thiết bị đầu cuối (trong Linux) tôi phải nhập mật khẩu. Làm cách nào để xóa cái này để nó kéo và / hoặc đẩy mà không cần mật khẩu?


5
Giao thức được sử dụng bởi địa chỉ repo của bạn là gì? ssh? https?
VonC

Câu trả lời:


23

Tạo cặp khóa riêng / chung để xác thực không cần mật khẩu.

Đối với Linux, khóa của bạn được lưu trữ trong ~/.ssh.

Nếu bạn đã có các tệp trong ~/.sshđó được đặt tên id_rsaid_rsa.pub, thì bạn đã có một cặp khóa. Nối các nội dung của khóa chung của bạn (đó id_rsa.pub) vào tệp ~ / .ssh / ủy quyền của kho lưu trữ Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Nếu bạn không có cặp khóa, hãy tạo một cặp với

$ ssh-keygen -t rsa

Đọc phần này để được hướng dẫn thêm: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git- Authorization /


@slhck À, đừng nghĩ về điều đó! Mặc dù vậy, sẽ rất tốt nếu biết lốc xoáy hệ điều hành đang sử dụng trước khi đăng hướng dẫn thêm.
Jin

Cảm ơn con trỏ. Tôi đã cập nhật câu hỏi cho phù hợp!
lốc xoáy

1
Khi tôi chạy lệnh đầu tiên, tôi nhận được: Bạn dường như đang sử dụng ssh để sao chép một git: // URL. Đảm bảo tùy chọn cấu hình core.gitProxy của bạn và biến môi trường GIT_PROXY_COMMAND KHÔNG được đặt. mất kết nối
MultiformeIngegno

25

Chạy

git config cert.rcper store

Điều này sẽ lưu trữ thông tin đăng nhập của bạn trong một thư mục bên trong root. Bạn cần chạy git pull / push sau lệnh này và đặt tên người dùng / pwd lần đầu tiên. Đăng cái này nó sẽ không nhắc cho người dùng / pwd. Chi tiết tại https://git-scm.com/docs/git-credential-store


4
điều này nên được chọn là câu trả lời chính xác cho câu hỏi này. IMO, OP muốn hỏi về một giải pháp httpsđể tránh phải nhập tên người dùng / mật khẩu nhiều lần, không chuyển sang sshgiải pháp. 1+ cho câu trả lời này.
Giang Nguyễn

1
Lưu ý rằng lưu trữ thông tin xác thực lưu trữ mật khẩu trên đĩa không được mã hóa.
0xc0de

6

Bạn cũng có thể thay đổi cụm mật khẩu của mình và thay thế nó bằng một chuỗi trống:
ssh-keygen -p


3
Điều này không sai sao? vì sẽ không còn bảo mật nữa
Titus

3
Cảm ơn bạn. Đây là cách khắc phục cho những người có thiết lập khóa SSH nhưng không chắc tại sao họ vẫn cần nhập cụm mật khẩu.
Cory Danielson

sử dụng một tác nhân ssh là sự thay thế an toàn hơn cho việc này. superuser.com/questions/426749/ssh-agent-and-ssh-add
Jay R. Wren

1

Tôi đã tạo một chi nhánh mới và sau đó khi tôi kéo, tôi phải nhập tên người dùng và mật khẩu. Sau đó, tôi giải quyết vấn đề nhân bản lại chi nhánh với địa chỉ ssh (trên trang lưu trữ có liên quan).

Ví dụ:

git clone git@github.com:sshare/GLE.git
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.