繁体   English   中英

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

[英]How to `go get` private repos using SSH key auth with password

我通常在我的 ssh 密钥中设置一个密码,以便万一它受到威胁,我可能有时间轮换到一个新的。

但是,在使用 go 模块时,我注意到在执行go get并使用带密码的密钥时,出现以下错误

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

在 Go 中解析依赖项时,有没有办法提示输入这个密码?

现在,我删除了密码:(

使用代理。 在 Linux 或 Macos 上,过程是

   ssh-agent bash

第一步是使用 ssh-agent 启动一个 shell

   ssh-add ~/.ssh/id_rsa

第二步给agent添加一个key,~/.ssh/id_rsa是key的路径。 在这一步之后,它会要求输入一次密码

完成这些操作后,新 shell 中的任何命令都将使用通过 ssh-add 加载的密钥

您也可以尝试通过禁用批处理模式来更改 go get 调用 ssh 的方式:

env GIT_SSH_COMMAND="ssh -o ControlMaster=no -o BatchMode=no" go get github.com/<YOUR_REPO_HERE>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM