我有一台连接到Active Directory的
Windows客户端计算机和一台连接到Active Directory的
Linux服务器(通过PAM w / LDAP),我希望能够从Windows到Linux进行无密码SSH.只要我提供AD帐户的密码,SSH就可以正常工作.
我发现下面的文章让我知道如何做到这一点,但我无法让它工作:http://www.moelinux.net/wordpress/?p=95
>(在客户端上)将我的AD证书导出到.PFX文件中
>使用以下命令将.PFX转换为id_rsa文件:openssl pkcs12 -in somefile.pfx -out id_rsa
>使用以下命令剥去密码的id_rsa:openssl rsa -in id_rsa -out id_rsa
>使用以下命令生成公钥:ssh-keygen -y -f id_rsa> id_rsa.pub
>(在服务器上)与上面相同的例程,所以我在客户端和服务器上有相同的〜/ .ssh / id_rsa和〜/ .ssh / id_rsa.pub.
正如您可能猜到的,这不起作用.我仍然需要输入密码.我哪里可能出错了?
(我真正想要实现的是设置一种使用AD帐户从Windows连接到Linux的方式,尽可能无缝.这似乎是最好的方法,但如果有其他方法,我是开放的想法:-))
您将X.509证书与RSA密钥混淆.它们是完全不同的PKI实现.但是,由于您的客户端和SSH服务器都是域成员,我会说忘记密钥并使用Kerberos / GSSAPI.在服务器上的/ etc / ssh / sshd_config中,您应该找到一个指令GSSAPIAuthentication,取消注释它并将值更改为yes.保存更改后重新启动SSH守护程序.
对于客户端,您需要最新的PuTTY(0.61)或OpenSSH. PuTTY默认启用GSSAPI,因此只需输入SSH服务器的主机名(IP地址不起作用)并点击连接即可.