2014-02-22 28 views
1

我正在使用我的覆盆子pi服務器,並且每當我克隆或在gitremotely上執行任何操作時,我都希望禁用推拉密碼。 我該怎麼做? 我不想在git shell上輸入密碼,當我嘗試將任何更改推送到服務器時。安全推拉無密碼GIT

+0

「我想禁用推拉」你是什麼意思?該聲明似乎與您在問題的其餘部分所說的內容相沖突。 – Ajedi32

+0

另外,你是否推動GitHub或你的Raspberry PI服務器?還是你SSH到你的Raspberry PI服務器,並從那裏推到GitHub?請澄清你的問題。這很令人困惑。 – Ajedi32

+0

我使用git push origin master從git hub推送到Raspberry Pi服務器,並要求輸入密碼。另外,我已經糾正了這個問題,我的意思是說,在推和拉上禁用密碼 – user3302688

回答

1

你需要生成SSH密鑰(如@ Ajedi32 exlains)或像在github頁面上解釋:https://help.github.com/articles/generating-ssh-keys

此外,如果您鍵入 git remote -v 你會看到th在你的倉庫(origin可能)會有https://github.com/user/repo.git開始的路徑)。這意味着你的本地機器上的git是指遠程git回購通過https。當通過https提及遠程git倉庫時,git將總是要求輸入密碼。

這就是爲什麼當您已經設置了SSH密鑰如在上述的方法中的一個所描述的,必須更改GIT中的方式從https協議參照遠程回購ssh協議。

要做到這一點,你首先必須寫下你當前的回購路徑,例如。 https://github.com/username/reponame.git ,那麼你可以將其轉換爲ssh風格地址:。 ssh://[email protected]/username/reponame.git(記住,你只需要改變usernamereponame部分離開[email protected]因爲這是它必須始終是這樣

然後在本地。機器可以鍵入下面的代碼: 如果你在Linux上

git remote -v 
git remote rm origin 
git remote add origin ssh://[email protected]/username/reponame.git 
git remote -v 

最後的命令將打印您通過這混帳指遠程倉庫路徑它將從ssh://...開始。

請注意,當使用命令git remote -v時,存儲庫路徑將打印兩次,一次爲fetch,一次爲push評論。

4

我不確定你確切的設置是什麼,但聽起來像你想在你的服務器上設置一個SSH密鑰。該Pro Git本書涵蓋了如何在Chapter 4.4相當徹底地做到這一點:

讓我們通過設置在服務器端SSH訪問。在這個 示例中,您將使用authorized_keys方法來驗證您的 用戶。我們還假設你正在運行像Ubuntu這樣的標準Linux發行版 。首先,你爲該用戶創建一個'git'用戶和一個.ssh目錄,用於 。

$ sudo adduser git 
$ su git 
$ cd 
$ mkdir .ssh 

接下來,你需要開發者的SSH公鑰添加到這個用戶的 authorized_keys文件。假設您通過電子郵件收到了幾個 密鑰,並將它們保存到臨時文件中。同樣,公衆 鍵是這個樣子:

$ cat /tmp/id_rsa.john.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L 
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k 
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez 
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv 
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq 
dAv8JggJICUvax2T9va5 gsg-keypair 

你只需把它們添加到您的authorized_keys文件:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys 
$ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys 
$ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys