自己之前很少用ssh这种方式连接git仓库,但是近期的项目想借助webhook尝试自动部署,就需要在vps上面通过ssh链接git,进行pull操作。
按照我的理解,产生一个ssh密钥对后,私钥放到vps的.ssh/id_xxx
下,公钥通过coding.net上传即可。
但是发现coding.net的ssh公钥有两种类型,按照帮助页面的说法,一种验证用户,一种是部署公钥用来保证只读权限,这两个公钥还不能通用,那么问题来了,我在vps上面需要生成两个ssh密钥,分别在coding.net中添加到账户公钥和部署公钥吗?同理,如果存在本地存在俩个私钥,coding.net上传了一个账户公钥和部署公钥,那么coding.net采用哪一个?
还有,虽然一个部署公钥可以用到多个项目,但是我发现公钥上传成功后,就看不到内容,这样,过一阵子vps如果需要部署新的项目,而老的部署公钥没有保存的话是不是就必须弄一个新的密钥?
另外,产生了ssh密钥后,还需要ssh-add操作吗?
补充,账户公钥和部署公钥不能通用:
你不需要部署密钥。部署密钥是用来部署的,如果你的用户都在机器上的话就没必要了。
我不清楚 coding.net 为什么会看不到公钥。GitHub 和 BitBucket 的公钥都是公开可见的。另外公钥是可以从私钥生成出来的。不过公钥和私钥待一起的呀,你为什么会忘记其中之一呢?
除非需要用 ssh-agent,否则我从来不 ssh-add。
感觉你很少用 ssh 啊。