为什么 FreeSSHd 服务正在 Windows Server 上运行,但我无法从客户端计算机进行连接?

Geo*_*rey 2 windows-server-2003 ssh freesshd

FreeSSHd 安装在 Windows Server 2003 上,不是安装在 C: 驱动器上,而是安装在另一个驱动器 D: 上。当我在命令提示符下进入 D: 驱动器并输入 ssh 时,它告诉我 ssh 无法识别。

我使用哈希密码将自己添加为 FreeSSHd 的用户并启用了 SSH。

Windows 防火墙服务未运行。

我可以使用远程桌面连接连接到服务器。我想将 ssh 与 Mercurial 源代码管理系统一起使用。

当我通过远程桌面连接登录到服务器时,我还可以通过客户端计算机上的 ssh 和 putty 连接到服务器。

当我通过远程桌面连接从服务器注销后,我在客户端上输入:

ssh <username>@<server>
Run Code Online (Sandbox Code Playgroud)

我得到:

ssh: Connect to host <server> port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

小智 5

我知道,复活旧线程,但我有一些新信息。答案实际上是服务和前端似乎独立运行,有自己的 ini 文件。该服务默认作为 LocalSystem 运行,但是当您运行前端(至少在 Windows 7 上)时,它会将设置保存在您的配置文件目录树中,因此该服务永远不会读取它。

我的解决方案是将 FreeSSHDService.ini 文件从以下位置复制到 Program Files 文件夹中的文件顶部:

C:\users\<my username>\AppData\Local\VirtualStore\Program Files (x86)\freeSSHd\

重新启动服务,然后就可以注销了。但正如 Mattijs 指出的那样,它似乎仍然偶尔会崩溃,另一个缺点是每次需要更改配置时,您要么必须手动编辑 ini 文件,要么在通过 UI 编辑后重新复制它。遗憾的是它不再受支持,但它仍然是一个非常有用的工具。