Cygwin:ssh 和 ssh-keygen 根本没有反应

Cygwin: ssh and ssh-keygen do not react at all

我发现 ssh 和 ssh-keygen 有一个奇怪的行为:它们根本没有反应。 Cygwin 以管理员权限启动并正常运行。主机 192.168.1.1 已启动,我可以远程桌面到它:

当我尝试时:

$ ssh -vvv pi@192.168.1.1
OpenSSH_8.3p1, OpenSSL 1.1.1f  31 Mar 2020

即使我等了几个小时,我也只有一条线,但什么也没有。我重新安装了 cygwin、openssh,我删除了 .ssh 文件夹,但没有成功。

当我进入

ssh-keygen -b 4096

什么都没有发生。对我来说,用户交互似乎不起作用。有什么想法吗?

谢谢

更新:我试过了:

  1. 正在为所有用户重新安装 cygin,一个用户,运行使用管理员权限安装,没有。没有成功。
  2. 使用绝对路径启动 ssh 和 ssh-keygen 以确保 windows openssh 未被使用
  3. 检查了 .ssh 上的文件夹权限

这是我的 strace:Pastebin

更新 2:我发现以下内容:如果我 运行 ssh-keygen 或 ssh 足够频繁 (!) 它有时会起作用!现在这很奇怪。

Philippe 的想法是正确的。基本上 citrix workspace 应用程序正在崩溃 ssh cygwin。当我卸载 citrix 时一切正常!

我发现这是由于 citrix epclient64.dll 中的一个错误:它使我的内部网络中的 ssh 崩溃。卸载 citrix 后它会正常工作。这是日志

Pastebin log of strace
https://pastebin.com/FJfUj3C1[Pastebin][1]

没有应用程序保护它工作正常。所以总结一下:

  • 应用程序保护 ssh 一次又一次崩溃,甚至无法正常启动
  • 没有 citrix ssh 工作正常
  • 没有应用保护 ssh 的 citrix 工作正常

--> epclient64.dll 不适用于 ssh

我们谈论的是截至 2021 年 1 月的最新版本的 ssh 和 citrix。

我发现我卸载citrix的时候没有效果

我在 Windows 资源管理器中打开了 ssh.exe 所在的文件夹。我右键单击此可执行文件,导航到“兼容性”选项卡,选择 运行 此程序以“Windows 8”的兼容模式。然后我至少从命令行得到了响应,但它永远不会连接到我输入的主机。它会卡住,我必须从 taskmgr 中将其杀死。

当我 运行 whereis ssh 时,我在 Cygwin 中有 2 个版本,一个在 /usr/bin 中,一个在 /cygdrive/c/WINDOWS/System32/OpenSSH 中。所以我所做的是将 /usr/bin 版本移动到备份文件并在 cygwin shell 中创建一个 link 到 /cygdrive/c/WINDOWS/System32/OpenSSH/ssh.exe。现在它像以前一样工作了。

顺便说一下,我的 OpenSSH 版本是“OpenSSH_for_Windows_7.7p1,LibreSSL 2.6.5”运行 Windows 10.