2013-07-20 16 views
2

我剛剛開始了一份合同工作,並在公司的git倉庫中擁有一個賬戶。問題是,給出的密碼是字母數字亂碼,所以我想配置git以允許在我的Ubuntu開發框中輸入更少的密碼推/拉。配置git允許cli推/拉沒有密碼提示 - netrc忽略?

要做到這一點,我在$HOME創建.netrc文件,0600和權限甚至刪除我的本地工作副本後添加

machine companyserver.com 
login jason 
password aphanumeric_gibberish 

的混帳克隆命令包含

git clone [email protected]:/opt/git/jason.git 

將git repo重新克隆到

/media/storage/code_projects/company_working_copy 

我仍然被提示輸入密碼。

基於這些條件,如何使用.netrc實現無密碼推/拉?

+2

它可能使用ssh。設置一些密鑰。 –

回答

5

您正在使用克隆公司回購的網址:

[email protected]:/opt/git/jason.git 

看起來像SSH網址的Git,截至official Linux Kernel Git documentation for clone urls規定:

另一種scp-喜歡的語法也可以使用ssh協議:

[[email protected]]host.xz:path/to/repo.git/ 

你的情況:

  1. [email protected][email protected]
  2. host.xzgit.companyserver.com
  3. /path/to/repo.git//opt/git/jason.git

您需要設置SSH密鑰才能使用「無密碼」推送,並使用遠程Git回購進行提取。你可以在GitHub help page on generating SSH keys找到這樣的說明。

但是,請注意,建議您仍然使用密碼加密您的私人SSH密鑰,因爲如果有人設法從您的計算機上竊取私鑰文件,那麼就像是竊取您的密碼,他們將能夠通過GitHub on why SSH passphrases are necessary解釋的任何SSH服務模擬您:

密碼不是很安全,您已經知道這一點。如果你使用一個容易記住的,那麼猜測或蠻力就容易了。如果你使用的是隨機的,那麼很難記住,因此你更傾向於寫下密碼。這兩個都是非常糟糕的事情™。這就是你使用ssh密鑰的原因。

但是,使用沒有密碼的密鑰基本上與在計算機上的文件中記下隨機密碼相同。任何訪問您的驅動器的人都可以訪問您使用該密鑰的每個系統。這也是一件非常糟糕的事情。解決方案很明顯,請添加密碼。

在同一篇幫助文章中,他們還解釋了how to use the *nix utility ssh-agent to automatically store your passphrase during a terminal session,這樣您就不必每次使用私鑰發出SSH請求時都輸入它。