最近在用git,感覺每次輸入密碼很不方便,想借助ssh key來實現(一種類似ssh命令中-i參數的機制)。現在問題解決了,這里總結下(從建庫開始),也方便我以后查閱。
建立一個私有倉庫
這里以test1目錄示例:
1、創建test1文件夾
mkdir test1 cd test1
2、git初始化
git init .
3、添加文件
touch readMe.txt git add . git commit -m "init"
4、導出"祼倉庫"
cd ..
git clone --bare test1/.git test1.git
產生ssh key
cd ~/.ssh ssh-keygen -t rsa -b 4096 #輸入文件名稱保存即可,比如:id_rsa_test1
導入ssh key
將上一步驟產生的公鑰導入authorized_keys中 cat id_rsa_test1.pub >> authorized_keys
ssh訪問測試
將私鑰通過安全方式copy到其它主機的特定目錄(比如tmp),執行如下命令(192.168.1.100為目的主機的ip地址): ssh 192.168.1.100 -i /tmp/id_rsa_test1
git訪問測試(指定ssh key)
linux配置
1、安裝git(CentOS6 環境)
yum install git -y
2、配置config文件
cd ~/.ssh/ vi config 添加如下代碼(192.168.1.100為git服務器ip):
Host host100 Hostname 192.168.1.100 User root IdentityFile /tmp/id_rsa_test1
3、git訪問
配置完成后,通過以下命令訪問,都無需密碼:
git clone host160:/tmp/test1.git
cd test1
git pull
git push
windows配置
1、安裝git
網址:http://git-scm.com/downloads (我安裝的版本為:Git-1.8.0-preview20121022,下載鏈接:http://cloud.github.com/downloads/msysgit/git/Git-1.8.0-preview20121022.exe)
tips:安裝時如果選擇“Run Git and included Unix tools from the Windows Command Prompt.”選項的話可以在命令行中直接用git及unix命令。
2、配置config文件
這個和linux差不多,也是在用戶目錄的".ssh"文件夾,比如(windows XP下):
C:\Documents and Settings\Administrator.ssh
建立config文件,其它的仿照linux的操作配置好主機和key。
3、git訪問 操作和linux環境下相同。
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2012/20121127_指定sshKey訪問git.rst
歡迎補充