我正在使用 git bash。我必须使用
eval `ssh-agent.exe`
ssh-add /my/ssh/location/
每次当我开始一个新的 git bash 时。
有没有办法永久设置ssh代理?或者windows有什么好的办法吗
管理 ssh 密钥?
我是新人,请详细的教程,谢谢!
2013 年:在git bash
会话,您可以添加一个脚本~/.profile
or ~/.bashrc
(with ~通常设置为%USERPROFILE%),为了使该会话自动启动ssh-agent
.
如果该文件不存在,则创建它。
这就是 GitHub 在“使用 SSH 密钥密码".
The "在适用于 Windows 的 Git 上自动启动 ssh-agent该文章的“部分有一个强大的脚本,用于检查代理是否正在运行。
下面只是一个片段,请参阅 GitHub 文章以获取完整的解决方案。
# This is just a snippet. See the article above.
if ! agent_is_running; then
agent_start
ssh-add
elif ! agent_has_keys; then
ssh-add
fi
其他资源:
"让 ssh-agent 从 Windows 命令 shell 与 git run 一起使用" 有一个类似的脚本,但我主要参考上面的 GitHub 文章,该文章更强大且最新。
hardsetting添加评论 (2018):
如果您想在第一次需要时输入密码,而不是在打开 shell 时输入,对我来说最简洁的方法是:
- 删除
ssh-add
来自.bash_profile
, and
- adding "
AddKeysToAgent yes
“给你的.ssh/config
文件(参见“怎么做ssh-agent按需自动添加密钥?").
这样你甚至不必记住跑步ssh-add
.
And Tao添加评论 (2022):
值得注意的是,为什么这个脚本在 Windows 中特别有意义,而不是(例如)由@JigneshGohel in 另一个答案:
通过不依赖SSH_AGENT_PID
总之,这个脚本可以在不同的 msys 和 cygwin 环境中工作。
代理可以在 msys2 中启动,并且仍然在git bash
,作为SSH_AUTH_SOCK
在任一环境中都可以到达路径。
一个环境中的 PID 无法在另一个环境中查询,因此基于 PID 的方法不断重置/创建新的ssh-agent
每个交换机上的进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)