- 主持人:
Amazon Linux with OpenSSH 6.6.1, OpenSSL 1.0.1k-fips 8 Jan 2015
- 客户:
Win 10 with Cygwin OpenSSH 7.3p1, OpenSSL 1.0.2h 3 May 2016
我可以毫无问题地进行交互 ssh:
win10$ ssh [email protected]
aws$
此端口转发也适用:
win10$ ssh -NTL 9003:localhost:80 [email protected] &
win10$
我使用后者通过以下方式访问服务器上的 phpmyadmin:
http://phpmyadmin.localhost:9003
这很好用。
为了使用 netbeans 调试服务器上运行的 php 代码,我这样做:
win10$ ssh -NTR 9000:localhost:9000 [email protected] &
这曾经工作正常。但是在升级 Cygwin 之后,我现在得到:
ssh: connect to host example.com port 22: Operation not permitted
在命令行中添加 -vvvv 并没有提供更多信息:
win10$ ssh -vvvv -NTR 9000:localhost:9000 [email protected]
OpenSSH_7.3p1, OpenSSL 1.0.2h 3 May 2016
debug1: Reading configuration data /home/user/.ssh/config
debug2: resolving "example.com" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to example.com [nn.nn.nn.nn] port 22.
debug1: connect to address nn.nn.nn.nn port 22: Operation not permitted
ssh: connect to host example.com port 22: Operation not permitted
我相信以前对我有用的 ssh 版本是Cygwin on WinXP with OpenSSH 7.1p2, OpenSSL 1.0.2f, 28 Jan 2016
服务器上没有任何变化。由于端口 9000 没有特权,我不认为这应该是权限问题,尤其是服务器配置没有改变,但我不得不承认端口转发对我来说基本上是魔法。任何想法可能是错误的或如何收集更多/更好的信息?
这不是一个答案,这只是我观察到的。我重新启动了我的 Win10 PC,它应用了一些待处理的更新。我还安装了 Eset Internet Security,防火墙过滤模式设置为交互。重新启动后,当我尝试之前失败的转发时,Eset 提示 ssh.exe 已被修改,并询问是否可以保留允许其发起流量的规则。我说没关系,然后它又开始工作了。在重新启动之前,Eset 没有任何抱怨。如前所述,端口 9003 的转发工作正常。
除了“运行 Windows 更新并经常重启”的 XP 时代通常的 Windows 口头禅之外,我不知道该从中学到什么作为学习经验,但现在问题已解决!