如何使用带有密码的 SSH 密钥身份验证“去获取”私有存储库

我通常在我的 ssh 密钥中设置一个密码,这样万一它被泄露,我可能会有一些时间来轮换到一个新的。

但是,在使用 go 模块时,我注意到在执行 ago get并使用带有密码短语的密钥时,我收到以下错误

git@github.com:权限被拒绝(公钥)。

在解决 Go 中的依赖项时,有什么方法可以提示输入此密码?

现在,我删除了密码:(


繁华开满天机
浏览 142回答 2
2回答

海绵宝宝撒

使用代理。在 Linux 或 Macos 上,该过程是   ssh-agent bash这第一步使用 ssh-agent 启动一个 shell   ssh-add ~/.ssh/id_rsa第二步为代理添加密钥,~/.ssh/id_rsa 是密钥的路径。在这一步之后,它会询问一次密码完成这些操作后,新 shell 中的任何命令都将使用 ssh-add 加载的密钥

眼眸繁星

您也可以尝试通过禁用批处理模式来更改 go get 调用 ssh 的方式:env&nbsp;GIT_SSH_COMMAND="ssh&nbsp;-o&nbsp;ControlMaster=no&nbsp;-o&nbsp;BatchMode=no"&nbsp;go&nbsp;get&nbsp;github.com/<YOUR_REPO_HERE>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go