我已经在 Windows XP 系统上配置了 OpenSSH 服务器。一切运行正常……尽管这取决于您在机器上的连接方式。
详细信息: - 在 Windows 端,在域 MYDOM 中,我有一个用户 jdoe。MYDOM\jdoe 是标准用户(不是本地管理员的成员),属于“远程桌面用户”组。 - jdoe 帐户已在此计算机上运行的 OpenSSH 服务器上的 /etc/passwd 中正确声明。 - 在 Linux 计算机上,jdoe 已生成其 RSA 密钥包。并将此密钥添加到 Windows 计算机上的 ~/.ssh/authorized_keys。我已检查 .ssh 目录上的访问权限,并且文件设置正确。
因此,现在,jdoe 可以成功打开从 Linux 客户端到 Windows 服务器的 ssh 会话,而无需输入密码。没有错误消息。完美。
如果我删除 Linux 客户端上 ~/.ssh 中的 RSA 密钥,那么 jdoe 当然会被提示输入密码。只要正确输入密码,就会授予访问权限。
但这两种访问方式之间存在很大差异,我无法解释。这也是麻烦的根源... 似乎登录的用户并不完全相同!
我解释。
当 jdoe 使用提示输入密码的方法登录时,我可以看到环境变量的以下值:USERDOMAIN=MYDOM USERNAME=jdoe LOGONSERVER=\my_ADC_server 并且“id”命令返回一个字符串,其中包含(除其他内容外):555(远程桌面用户)
当 jdoe 使用无密码方法登录时,值不同:USERDOMAIN=NT AUTHORITY USERNAME=SYSTEM LOGONSERVER 不可用,并且“id”内容与之前完全相同,当然没有 555(远程桌面用户)条目。
我很困惑。有什么办法可以解决这个问题吗?如何让无密码 ssh 正确运行?
问候。