更新 :它看起来像networkingdevise是完全错误的,authenticationstream程应该是相反的方向。 所以这个问题现在是没有意义的。
当前的设置:使用Virtualbox,在Windows 7主机上的Linux VM(假设通用的和最新的如CentOS 7.1和Ubuntu 15.04)。
TL; DR问题 :是否有可能在虚拟机内运行openssh, 而不是使用本地ssh-agent进行密钥validation,而是在Windows主机上使用Peagent? 更复杂的设置可以接受。
长问题 :原来在主机和虚拟机上有多个密钥副本 – 主机上有Putty格式的副本,通过共享文件夹在虚拟机上有Openssh密钥格式,其中很多为了方便而没有密码保护。 但最近我觉得有必要巩固他们,增加更多的保护。 这些密钥用于远程pipe理,并通过版本控制系统(主要是Git)检查源代码。 这是要求:
第1点(允许Windows主机使用pageant进行身份validation)相对来说是微不足道的; git setup基本上是设置正确的$GIT_SSH环境variables。 不只是Putty,即使MinGW openssh也可以连接到pageant,通过将所有密钥存储在密码pipe理器(使用KeePass 2.x)中,并使用KeeAgent插件导出适合用作$SSH_AUTH_SOCK的套接字 。 看到这个ServerFault后的另一种方法。
但到目前为止,没有运气通过Linux VM访问选美。 我尝试了以下方法, 但失败了 :
plink.exe 。 这是类似于天真的方法ssh host1 ssh host2 ,这足够我的目的。 cmd直接运行plink.exe就行了。 在Windows上运行的大多数可用的SSH服务器都基于Cygwin。 看起来很像这个腻子/ cygwin组合错误报告 。 注意: 这里可能有类似的问题 ,但我没有使用stream浪汉。
看来原来的devise是完全错误的。 打开每个虚拟机上的sshd服务器会更简洁
AllowAgentForwarding yes
然后ssh到每个虚拟机。 这样,所有的虚拟机将自动使用来自主机的授权代理,而不需要安装任何ssh密钥。