【问题标题】:Allow agent forwarding using Cmder (ConEmu)允许使用 Cmder (ConEmu) 进行代理转发
【发布时间】:2018-10-16 14:53:03
【问题描述】:

我正在使用 cmder,它在 Windows 8.1 上运行 ConEmu

它具有内置的 Git 功能,因此我可以在控制台中拉/推 git 存储库(就像在 Linux 控制台上一样)

为了进行身份验证,我使用受密码保护的 SSH 私钥。如果我使用 ConEmu 执行git push,它每次都会提示我输入密钥密码。我可以键入“start-ssh-agent”并输入我的密码一次,它将在该 ConEmu 窗口中自动验证我,但是如果我关闭或打开另一个窗口,我需要再次运行该命令。

如何启动 ssh-agent 来在每个 ConEmu 窗口中验证我的密钥?

【问题讨论】:

  • 看起来你真的想要一个 Linux 系统 ;) 关于这个主题,你需要全局启动一个 ssh-agent 以使其在整个系统中可用。在 Windows 上会想到 putty-agent 之类的东西
  • 您可以创建启动 task,在其中运行 ssh-agentexport 变量 SSH_AGENT_PIDSSH_AUTH_SOCK 到 ConEmu 及其控制台。

标签: git shell ssh command-prompt cmder


【解决方案1】:

使用以下snipped SSH 密钥是在 Cmder 启动期间添加的,并且每个会话只输入一次密码:

@echo off
ssh-agent | grep -v echo | sed -e "s/^/@set /" | sed -e "s/;.*$//" - > call.cmd
call call.cmd
del call.cmd
ssh-add "%HOME%\.ssh\id_rsa"
@echo on

将代码添加到当前 Cmder 版本的cmder/config/user-profile.cmd 或旧版本的cmder/vendor/init.bat

编辑: 较新版本的 cmder 在 user-profile.cmd 中有以下几行,使用 git 时也是如此:

:: uncomment this to have the ssh agent load when cmder starts
call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd"

【讨论】:

  • 在最新的cmder中,要更新的文件是cmder\config\user-profile。 sn-p 仍然很好用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 2014-07-30
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多