【ssh/openssh/rsa/github/gitlab】关于指定服务器ssh密钥的事宜
Contents
关于指定服务器ssh密钥的事宜
缘起
用密钥方式pull和push不同gitlab,github代码库的时候报错。
报错大抵就是没有操作权限云云,明明自己有在~/.ssh下保存相应的rsa私钥的说。
经过
其实经过调查,只要设置~/.ssh/config文件就能实现不同的代码库用不同的密钥。
举个例子。某私服gitlab代码库地址是192.168.8.8,用了非标准的端口2222。
私钥文件存储在~.ssh\id_ed25519
(这里为了避开openssh高版本问题换了密钥类型,具体见我往期内容)
Host gitlab-sf
HostName 192.168.8.8
User git
IdentityFile ~\.ssh\id_ed25519
Port 2222
然后在project文件夹下.git文件夹下config文件中确认,
[remote “origin”]节点下 url中内容必须改成:
ssh://gitlab-sf/group/project-name.git
注意:这里gitlab-sf的部分要和上面config中Host的内容一致。
这里本来可能是类似:
git@192.168.8.8:2222
这样的内容需要被替换掉。
如果有多个git代码库可以配置多个,这样就解决了,不同代码库不同的密钥。
结语
其实就是一个配置的问题,介于自己其实对于ssh的配置不熟悉的问题造成的困扰而已。