我有一个 Windows Server 根证书颁发机构、Linux SSH 服务器和具有 Windows SSH 客户端的用户。Linux 机器不是 AD 域的一部分(可能永远不会是 [叹气])
OpenSSH 5.4 及以上版本支持基于 X.509 证书的身份验证。我正在尝试找到一种方法,在 SSH 连接到 Linux 计算机时使用我的 Windows 证书颁发机构颁发证书来对用户进行身份验证。
我不想在每个用户的桌面上生成密钥对。我们希望证书在 Windows CA 上受控并可撤销。
我的问题与 使用 AD 证书从 Windows SSH 到 Linux (并且引用的 moelinux.net 似乎已关闭)
我在 Google 上搜索了很多次,但没找到太多关于如何实现这一点的结果。答案不一定非要包含完整的教程,甚至一些关于搜索内容的提示或一些参考资料的指向也可能有帮助。
答案1
从 OpenSSH 5.4 的 readme 和 Roumen Petrov 来看,目前看来它还未达到您所期望的程度。此外,OpenSSH 似乎也不太愿意支持它。
话虽如此,如果您安装 Petrov 提供的分叉版本,您也许能够实现这一点。
http://www.openssh.org/txt/release-5.4
“添加使用新的、最小的 OpenSSH 证书格式(非 X.509)对用户和主机的证书认证的支持。”
http://www.openssh.org/features.html
“所有具有限制性质的组件(即专利,参见 ssl)已从源代码中删除;任何获得许可或获得专利的组件均从外部库(例如 OpenSSL)中选择。”
- http://roumenpetrov.info/openssh/- 为当前 OpenSSH 版本提供补丁,可能可以满足您的需求。我不能保证,但看起来很有趣。我自己并不想偏离 OpenSSH 的主分支,安全性太重要了,而且我没有足够的资源来正确验证这一重大变化。