LinuxMint13安裝無密碼訪問git
以下是在LinuxMint13上安裝Gitolite的步驟記錄:
1.在服務器端,新建git賬號:
sudo adduser --system --shell /bin/bash --group git
sudo adduser git ssh
sudo passwd git
2.在服務器端,安裝open-ssh,並配置ssh,為了實現Git賬號的無密碼登錄,我們需要
修改/etc/ssh/sshd-config文件.
將其中的PermitRootLogin no修改為yes
PubkeyAuthentication 設置為no
AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,
PasswordAuthentication 設置為yes
配置後使用一下命令重啟ssh:
sudo service ssh restart
3. 在客戶端,用ssh-key-gen 在創建公鑰和密鑰,命令如下:
ssh-keygen -t rsa
4.ssh-copy-id 把公鑰從客戶端復制到遠程主機上,我這裡是用一台電腦的skwiki用戶拷貝到git用戶:
skwiki@HaSee$ ssh-copy-id -i ~/.ssh/id_rsa.pub git@localhost
此時會要求輸入密碼,輸入git的密碼即可遞交,遞交後在服務器端的/home/git/.ssh/authorized_keys
文件中就已經有了id_rsa.pub的公鑰內容,在隨後的gitolite中還會涉及到authorized_keys的修改。
5.再次修改/etc/ssh/sshd-config文件.
將其中的PermitRootLogin no修改為yes
RSAAuthentication 設置為no
PubkeyAuthentication 設置為yes
AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,
PasswordAuthentication 設置為no
配置後使用一下命令重啟ssh:
sudo service ssh restart
6.在客戶端,登錄git主機,我的客戶端和服務器端都是一台電腦,所以使用localhost標記。
ssh git@localhost
注意實際上,PasswordAuthentication 和 PubkeyAuthentication 可以同時設定為yes