我安装了带有免费开发者许可证(裸机)的 RHEL 8.2,看起来 sshd 已经安装,默认运行并且端口 22 已经打开,我不需要做任何事情来安装 sshd 或打开端口。
[root@<hostname> etc]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-08-17 13:35:12 MDT; 1h 7min ago
...
但在 Windows 10 Pro(安装了 cygwin ssh 客户端)上,
ssh <user>@<ip-address>
我收到这个错误
ssh: connect to host <ip-address> port 22: Permission denied
在 RHEL 8.2 安装中,在 bash 终端中,我可以成功在本地 ssh:ssh <user>@<ip-address>
并且运行正常。有什么想法吗?
答案1
问题很可能出在客户端 (Cygwin) 上;但为了确保万无一失,请尝试telnet ip-address 22
查看是否收到连接或“连接失败”/“连接被拒绝”消息。如果连接成功,则说明服务器端的策略过滤等问题已排除。另一种方法是使用 ssh 连接时在服务器上运行iptables
,这可以确认您在端口 22 上收到了两个方向的数据包。selinux
tcpdump
假设服务器端没有问题,请尝试另一个 ssh 客户端,例如 PuTTY。如果成功,则您的 Cygwin 安装可能有问题。