我在远程服务器上工作,需要使用我的私钥从另一台服务器执行 git clone。但我不想将我的密钥存储在远程服务器上。
我想完全避免将 ssh 密钥存储在远程服务器上,即使是存储在临时文件中。这可能吗?
答案1
您想要使用ssh-agent
- 这正是它被设计用于的确切场景。
ssh-agent
当您使用 ssh 登录远程服务器时提供身份验证转发。
配置完成后,你可以登录远程服务器(使用-A
转发代理),然后执行 git pull。它会将身份验证请求转发回你的本地机器。
答案2
如果您将私钥放入环境变量中,则安全性不会提高很多。请注意,所有环境变量都可以通过 看到/proc/$PID/environ
。使用ssh-agent
。