周梦康 发表于 2016-10-12 1544 次浏览

例如我的~/.ssh/config配置文件如下

hostname 192.168.0.2
port 22
user mengkang
identityfile /home/mengkang.zmk/.ssh/id_rsa_mengkang_zmk


host gitlab.xxx.com
RSAAuthentication yes
identityfile /home/mengkang.zmk/.ssh/id_rsa_mengkang_zmk

然后我在检出代码的时候

git clone git@gitlab.xxx.com:xxx xx_dir

居然提示

git@192.168.0.2's password:

两个配置冲突了,原来原因是我没有给192.168.0.2配置host,系统默认从下面的gitlab的配置中读取host,系统解析的配置为

host gitlab.xxx.com
hostname 192.168.0.2
port 22
user mengkang
identityfile /home/mengkang.zmk/.ssh/id_rsa_mengkang_zmk

所以出现了上面的输出密码的提示。


我一般都会设置host的,但是我如果配置了host别名,那么在使用rsync xxx mengkang@182.168.0.2 xxx的时候又提示需要密码了。原来把host也设置为ip就好了。

host 192.168.0.2
hostname 192.168.0.2
port 22
user mengkang
identityfile /home/mengkang.zmk/.ssh/id_rsa_mengkang_zmk


host gitlab.xxx.com
RSAAuthentication yes
identityfile /home/mengkang.zmk/.ssh/id_rsa_mengkang_zmk


评论列表