需求:
参考 : http://blog.csdn.net/wh_19910525/article/details/7433164
为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。
模型分析
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;
要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa
ssh-keygen -t rsa #使用rsa加密
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa](例如:ssh-keygem -t rsa(dsa)),将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )
以上的也就是deploy key的作用,
设置deploy key 就是在gitlab上进行设置,deploy key就是可以无需密码,只读的方式来Update一个项目,
方式:
登陆 gitlab ->选择 setting -> 选择 deploy key
补充:
要配置.ssh/config
例如: vim .ssh/config
User git
IdentityFile ~/.ssh/xxxxxxx.pub