我这里用的是gitblit ,其它相关git的免密设置基本上一样。
第一步:在需要免密的服务器上生成git相关密匙
[root@bakserver svncode]# git config --global user.name "admin"
[root@bakserver svncode]# git config --global user.email "admin@163.com"
[root@bakserver svncode]# ssh-keygen -t rsa -C "admin@163.com"
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:EAombd9nRRQZNsO5SCeNGy9iWzPqMrGj8nMhUHM3rz4 admin@163.com
The key's randomart image is:
+---[RSA 2048]----+
|..o . *O= |
| o=...o.=.Bo |
| o +.o.+ O . |
|. . +.@ o |
| . . OS+ |
| . o + |
| . * |
|. . * E |
| oo+ + . |
+----[SHA256]-----+
[root@bakserver svncode]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2FBAb7F+8Yxc24I22JQYwOcXFvFQo9pUIZc0tgYHqHxsLj5P3UxxkWhP2VAzeURxkSz50Zg4T5oqNeOzEo+2OFUa2Tr/b1Z/6zPHUnx74KxZqx1Bww9hQwhd4rnHWqjpSIM+x5fbqnKt0RvzlNcLPcksGxZIQ24L6sS0nNV+pcqLljCQsckNU+NP+T5lOK94ebfkmZcu96FuJfjXXeE+via8tvzwoKB3qU0X/QaD+tpPhRRa+85QctS1tMRZhhEtSnOlon4Gnh369mT0Pldpwcmn5PTo40crCuQ4zChTX8/M5B62+vZ5SWPGXQ9fyuIrisgt1Wk1qwFX9x6f7AbA3 admin@163.com
第二步: 将生成好的密码内容添加到gitblit的SSH Keys里
第三步测试:如下操作,第一次拉取代码要输入yes,后面就不会有提示输入,直接可以免密拉取代码了
[root@bakserver svncode]# git clone http://admin@192.168.0.210:8080/r/Sharebed/mstcp.git
正克隆到 'mstcp'...
Password for 'http://admin@192.168.0.210:8080':
[root@bakserver svncode]# git clone ssh://admin@192.168.0.210:29418/Sharebed/mstcp.git
正克隆到 'mstcp'...
The authenticity of host '[192.168.0.210]:29418 ([192.168.0.210]:29418)' can't be established.
RSA key fingerprint is SHA256:l6WopuQF5ojZzm76f4r5sH3WI8EhZonlw/ptLd9V7l0.
RSA key fingerprint is MD5:6d:b0:20:cf:35:2f:d3:2e:f4:6a:b2:cb:01:f9:df:d3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.0.210]:29418' (RSA) to the list of known hosts.
remote: Counting objects: 7, done
remote: Finding sources: 100% (7/7)
remote: Getting sizes: 100% (4/4)
remote: Compressing objects: 100% (46/46)
接收对象中: 100% (7/7), 627 bytes | 0 bytes/s, done.
remote: Total 7 (delta 0), reused 5 (delta 0)
[root@bakserver svncode]# git clone ssh://admin@192.168.0.210:29418/Sharebed/hgtcp.git
正克隆到 'hgtcp'...
remote: Counting objects: 6, done
remote: Finding sources: 100% (6/6)
remote: Getting sizes: 100% (4/4)
remote: Compressing objects: 100% (86/86)
remote: Total 6 (delta 0), reused 3 (delta 0)
接收对象中: 100% (6/6), 463 bytes | 0 bytes/s, done.
处理 delta 中: 100% (1/1), done.