題 如何在執行git push / pull時禁用密碼提示?


每次我想 push 和/或 pull 從終端(在Linux中)我必須輸入密碼。如何刪除它以便在沒有密碼的情況下拉動和/或推動?


29
2017-09-22 07:59


起源


您的回購地址使用的協議是什麼? SSH? HTTPS? - VonC


答案:


生成私鑰/公鑰對以進行無密碼身份驗證。

對於Linux,您的密鑰存儲在 ~/.ssh

如果你已經有文件了 ~/.ssh 這個名字 id_rsa 和 id_rsa.pub,那麼你已經有了一對鑰匙。附加公鑰的內容(即 id_rsa.pub)到Git存儲庫的〜/ .ssh / authorized_keys文件。

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

如果您沒有密鑰對,請生成密鑰對

$ ssh-keygen -t rsa

閱讀本文以獲取進一步說明 http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


22
2017-09-22 08:05



@slhck啊,沒想到的!不過,在發布進一步說明之前,了解操作系統whirlwin正在使用它會很好。 - Jin
謝謝你的指針。我已相應更新了這個問題! - whirlwin
當我運行第一個命令時,我得到一個:您似乎正在使用ssh來克隆git:// URL。確保未設置core.gitProxy配置選項和GIT_PROXY_COMMAND環境變量。失去了連接 - MultiformeIngegno


git config credential.helper store

這會將您的憑據存儲在root中的文件夾中。您需要在此命令後運行git pull / push並首次提供用戶名/ pwd。發布此信息不會提示用戶/密碼。細節在 https://git-scm.com/docs/git-credential-store


14
2018-05-31 08:30



這應該被選為這個問題的正確答案。 IMO,OP想要問一個解決方案 https 避免不得不一次又一次地輸入用戶名/密碼,而不是切換到 ssh 解。 1+這個答案。 - Giang Nguyen


你也可以 改變你的密碼 並用空字符串替換它:
ssh-keygen -p


5
2018-05-28 09:43



這不是很錯嗎?因為沒有更多的安全 - titus
謝謝。對於擁有SSH密鑰設置但不確定為何仍需要輸入密碼短語的人來說,這是一個修復程序。 - Cory Danielson
使用ssh-agent是更安全的替代方案。 superuser.com/questions/426749/ssh-agent-and-ssh-add - Jay R. Wren


我創建了一個新的分支,然後當我拉動時,我必須輸入用戶名和密碼。然後我解決了使用ssh地址(在相關的存儲庫站點上)重新克隆分支的問題。

例如:

git clone git@github.com:sshare/GLE.git

1
2017-08-03 05:23