问题描述
我有一个奇怪的 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
什么都没有发生。对我来说,用户交互似乎不起作用。有什么想法吗?
谢谢
更新:我试过了:
- 为所有用户重新安装 cygin,一个用户,使用管理员权限运行安装,没有。没有成功。
- 使用绝对路径启动 ssh 和 ssh-keygen 以确保不使用 windows openssh
- 检查 .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。