2012-11-16 90 views
3

我的服務器上有Debian,Fisheye和Git。 我的git回購由Fisheye管理。在魚眼部分沒有認證。所有的認證程序都由git管理。Git SSH身份驗證

我想使用SSH身份驗證,以便在將更改推送到服務器時不需要提供用戶名和密碼。我知道如何創建一個rsa密鑰,但我在哪裏可以在服務器上覆制我的公鑰?

回答

6

文章的關鍵部分「Git on the Server - Setting Up the Server」是:

你需要開發者的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 

如果你沒有一個authorized_keys做文件在您的服務器上,創建它,但一定要正確保護它。

server$ mkdir ~/.ssh 
server$ chmod 700 ~/.ssh 
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys 
server$ chmod 600 ~/.ssh/authorized_keys 
server$ rm ~/id_rsa.pub 

有關具體示例,請參閱「Creating SSH keys for Gerrit and Hudson」。

  • 確保git位於您的ssh守護程序使用的PATH中。
  • 確保您的~/.ssh的所有父目錄都不可寫入羣組(僅適用於chmod 755)。
1

你需要將你的公鑰粘貼到〜/ .ssh/authorized_keys中。如果該文件不存在,請創建該文件。