在Git Client產生要用來連線的 ssh key
在Ubuntu使用ssh-keygen -t rsa
指令產生ssh key,Enter passphrase
的時候不要輸入任何東西
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kejyun/.ssh/id_rsa): id_rsa_kejyun
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_kejyun.
Your public key has been saved in id_rsa_kejyun.pub.
The key fingerprint is:
49:6c:bf:01:a0:74:c7:e4:fd:14:85:75:f6:18:f1:63 kejyun@kejyun-VirtualBox
在Git Server加入允許連線的ssh key
將
Client
產生的public key資訊(id_rsa_kejyun.pub)加入到
Server
的
~/.ssh/authorized_keys
中,因為我在產生key時指定的檔名為id_rsa_kejyun,所以public key則為id_rsa_kejyun.pub
方法1:
將Client產生的id_rsa_kejyun.pub上傳到Server,再使用
cat ~/id_rsa_kejyun.pub >> ~/.ssh/authorized_keys
指令將public key存入
方法2:
在Server使用編輯器編輯~/.ssh/authorized_keys,直接將id_rsa_kejyun.pub的資料貼到檔案中
設定Client中使用ssh連線的方式
告訴Client的ssh,在連線到指定的主機時使用預設的key做連線
$vim ~/.ssh/config
Host 192.168.11.10
HostName 192.168.11.10
User kejyun
IdentityFile /home/kejyun/.ssh/id_rsa_kejyun
開始使用免密碼做 Clone/Push/Pull Request
git clone ssh://kejyun@192.168.11.10/home/kejyun/test.git
git push origin master
git pull origin master
參考資料