有一个SSL等同于一个SSH代理?

这是我的情况:有一些开发人员都需要有权访问从远程来源安装ruby和python蛋。 目前,我们的防火墙内有一台服务器,用于承载gem和鸡蛋。 我们现在希望能够在我们的防火墙之外安装托pipe在该服务器上的东西。 由于我们所拥有的一些gem和鸡蛋是专有的,我希望稍微locking一下机器的访问权限,尽可能地向开发者隐瞒。

我的第一个想法是使用类似ssh键的东西。 所以,我花了一些时间来看SSL的相互authentication。 我能够使所有设置正常工作,用curl进行testing,但不幸的是我必须传递额外的参数来curl,以便知道证书,密钥和证书的权限。

我想知道是否有类似ssh代理的东西可以自动提供这些信息,以便我可以将证书和密钥推送给开发人员的机器,这样开发人员无需每次都login或提供密钥尝试安装一些东西。

另一件我想避免的是,当他们进行http连接时,必须修改'gem'命令和'pip'命令来提供密钥。

任何其他可能解决此问题的build议(不涉及ssl相互身份validation)也是受欢迎的。

编辑:我一直在继续研究这个,我遇到了stunnel 。 我认为这可能是我正在寻找的,任何关于stunnel的反馈也将是伟大的!

针对HPC和电网的网格安全基础架构(API是公开的和可用的)。 MyProxy允许用户获得RFC 3820代理凭证。 在原始证书凭证通过MyProxyvalidation之后,基本上可以获得代理证书(短期存档)。 curl 应该使用RFC 3820证书。 还有一个可以使用GSI的SSH。 请参阅MyProxy – X.509凭证pipe理器 。

(你不是在说你正在使用哪个平台。)

在OSX上,钥匙串可以处理这个。 虽然它与ssh-agent并不完全相同,但可以将其configuration为允许某些应用程序(带或不带提示,取决于您select的设置)访问私钥。

在Linux上,您可以使用具有类似目标的Gnome Keyring 。 我不确定它是否提供与OSX的钥匙串相同的粒度,在授予每个应用程序的不同权限方面,但是您也可以在login时解锁它。

为什么不使用IPSEC为您需要的服务设置可信任的隧道 – 第一次安装和configuration需要更多的工作,但之后它可以是透明的。

使用SSH也是如此(让会话长时间逗留) – 这可以在SSH会话开始时使用一次密码来完成,或者如果没有密码,您可以select使用非对称密钥; 如果您使用SSH,则必须进行configuration更改或DNS调整才能使名称正常工作,因为您必须使用客户端访问本地转发端口才能访问远程服务器。

我最终采取了完全不同的方法。 我使用带有SSL和BasicAuth的Nginx在防火墙之外设置了一台服务器。 这一直很好。