ssh 连接被拒绝,卡在“debug1:本地版本字符串”

use*_*481 5 ssh openssh

我正在尝试使用 22 以外的端口连接到我的 Redhat AWS 实例。

该命令有效: ssh -i my.pem -p 22 ec2-user@X.X.X.X 但该命令无效:ssh -i my.pem -p 8157 -vvv ec2-user@X.X.X.X

第二个命令输出:

OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to X.X.X.X port 8157.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file my.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file my.pem-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
Run Code Online (Sandbox Code Playgroud)

但然后就挂起了。在我尝试连接的服务器上,但是,当我运行时nc -l 8157我可以看到

SSH-2.0-OpenSSH_7.6
Run Code Online (Sandbox Code Playgroud)

如果我取出该-vvv部件,我只会收到一个快速的“连接被拒绝”错误。

当我登录机器并运行时ssh -p 8157 -vvv ec2-user@localhost

我得到以下输出:

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug2: resolving "localhost" port 8157
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 8157.
debug1: connect to address 127.0.0.1 port 8157: Connection refused
ssh: connect to host localhost port 8157: Connection refused
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

Lin*_*eak 2

该命令的工作原理:ssh -i my.pem -p 22 ec2-user@X.X.X.X

但该命令不会:ssh -i my.pem -p 8157 -vvv ec2-user@X.X.X.X


你的另一端可能在防火墙中打开了端口,但是......

由于端口 22 有效,因此您的服务器会侦听该端口。

重新配置您的服务器以侦听您想要的任何端口。


您可以在文件中执行此操作:

/etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

通过以下设置:

Port 8157
Run Code Online (Sandbox Code Playgroud)

之后不要忘记重新启动 SSH 守护进程。