使用 AD 证书从 Windows SSH 到 Linux

使用 AD 证书从 Windows SSH 到 Linux

我有一台连接到 Active Directory 的 Windows 客户端计算机和一台也连接到 Active Directory 的 Linux 服务器(通过带 LDAP 的 PAM),并且我希望能够从 Windows 到 Linux 进行无密码 SSH。只要我提供 AD 帐户的密码,SSH 就可以正常工作。

我发现下面的文章让我知道如何做到这一点,但我无法让它发挥作用:http://www.moelinux.net/wordpress/?p=95

我尝试过以下方法(基于以上文章):

  1. (在客户端)将我的 AD 证书导出为 .PFX 文件
  2. 使用以下命令将 .PFX 转换为 id_rsa 文件:openssl pkcs12 -in somefile.pfx -out id_rsa
  3. 使用以下命令删除 id_rsa 的密码:openssl rsa -in id_rsa -out id_rsa
  4. 使用以下命令生成公钥:ssh-keygen -y -f id_rsa > id_rsa.pub
  5. (在服务器上)与上面的例程相同,因此我在客户端和服务器上具有相同的 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub。

你可能已经猜到了,这不管用。我还是得输入密码。我可能哪里做错了?

(我真正想要实现的是建立一种使用 AD 帐户从 Windows 连接到 Linux 的方法,尽可能无缝。这似乎是最好的方法,但如果还有其他方法,我愿意接受建议:-))

答案1

您将 X.509 证书与 RSA 密钥混淆了。它们是完全不同的 PKI 实现。但是,由于您的客户端和 SSH 服务器都是域成员,因此我建议您忘记密钥并使用 Kerberos/GSSAPI。在/etc/ssh/sshd_config服务器上,您应该找到一个指令,GSSAPIAuthentication取消注释它并将值更改为yes。保存更改后重新启动 SSH 守护程序。

对于客户端,您需要最新的 PuTTY (0.61) 或 OpenSSH。PuTTY 默认启用了 GSSAPI,因此只需输入主机名SSH 服务器的 IP 地址不是工作)并点击连接。

相关内容