我通常在我的 ssh 密钥中设置一个密码,这样万一它被泄露,我可能会有一些时间来轮换到一个新的。但是,在使用 go 模块时,我注意到在执行 ago get并使用带有密码短语的密钥时,我收到以下错误git@github.com:权限被拒绝(公钥)。在解决 Go 中的依赖项时,有什么方法可以提示输入此密码?现在,我删除了密码:(
2 回答

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
使用代理。在 Linux 或 Macos 上,该过程是
ssh-agent bash
这第一步使用 ssh-agent 启动一个 shell
ssh-add ~/.ssh/id_rsa
第二步为代理添加密钥,~/.ssh/id_rsa 是密钥的路径。在这一步之后,它会询问一次密码
完成这些操作后,新 shell 中的任何命令都将使用 ssh-add 加载的密钥

眼眸繁星
TA贡献1873条经验 获得超9个赞
您也可以尝试通过禁用批处理模式来更改 go get 调用 ssh 的方式:
env GIT_SSH_COMMAND="ssh -o ControlMaster=no -o BatchMode=no" go get github.com/<YOUR_REPO_HERE>
- 2 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消