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

问题描述

我有一个奇怪的 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 上的文件夹权限

这是我的跟踪:Pastebin

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

解决方法

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

,

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

public void marshallV2(Multimap<String,List<Product>> supplierProducts) throws JAXBException {
            JAXBContext context = JAXBContext.newInstance(Product.class);
            Marshaller marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);
            List<Product> panasonic = supplierProducts.get("panasonic ");
            List<Product> apple = supplierProducts.get("apple ");
            List<Product> sony = supplierProducts.get("sony ");
    
  
            marshaller.marshal(panasonic,new File("src/output/panasonic.xml"));
            marshaller.marshal(apple,new File("src/output/apple.xml"));
            marshaller.marshal(sony,new File("src/output/sony.xml"));
    
        } 

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

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

--> epclient64.dll 不支持 ssh

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