Contents

【ssh/openssh/rsa/github/gitlab】关于指定服务器ssh密钥的事宜

关于指定服务器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的配置不熟悉的问题造成的困扰而已。