使用AD证书从Windows到Linux的SSH

我有一台Windows客户机连接到Active Directory,一台Linux服务器也连接到Active Directory(通过PAM w / LDAP),我希望能够执行从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。

正如你可能猜到的,这是行不通的。 我仍然需要input我的密码。 我可能在哪里出错了?

(我真正想要完成的是build立一个从Windows到Linux的连接,使用AD帐户,尽可能无缝地连接,这似乎是最好的方法,但如果有其他方法,我是开放的想法:-))

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

对于客户端,您需要最新的PuTTY(0.61)或OpenSSH。 PuTTY默认启用GSSAPI,所以只需inputSSH服务器的主机名 (IP地址不起作用),然后点击连接即可。