vsCode git 操作提示 Permission denied, please try again
问题描述
在 gitlab 仓库已经添加了 ssh key 之后,用 vsCode 或者 sourcetree 克隆或者操作仓库,还是会提示 Permission denied, please try again
解决方案
如果正确配置了 ssh key,则已经有了权限,但是每次提示 Permission denied, please try again 是因为需要 root 密码获取 ~/.ssh/id_rsa.pub 的 key;所以,在终端里执行以下命令:
ssh-add ~/.ssh/id_rsa
ssh-add 这个命令不是用来永久性的记住你所使用的私钥的。实际上,它的作用只是把你指定的私钥添加到 ssh-agent 所管理的一个 session 当中。而 ssh-agent 是一个用于存储私钥的临时性的 session 服务,所以每次重启都会失效,都需要再次执行命令。
以前有个方法 ssh-add -K privateKey 可以把私钥存到 keychain 中,重启后也不需要手动 ssh-add ,这个方法现在不行了,找了好久终于找到了解决方法
方法思路依然是利用上述原理,每次电脑开机自动执行 ssh-add 方法,参考文献如下:
注意:
上面链接方法中添加运行的命令 ssh-add ~/.ssh/id_rsa 依然会报没有权限,然后我修改为 ssh-add -A 则好了(具体原因不明)