我正在尝试通过 SSH 连接到服务器以测试 API。过去 2 周我一直在研究这个问题,它运行良好。没有出现任何问题。
我用于 ssh 的命令是:
ssh -L 8000:remoteserver.com:8000 remoteserver.com
但是现在突然之间,我可以通过 SSH 进入服务器,但端口转发不起作用。我曾经进入服务器,在端口 8000 上启动 Django 应用程序,然后使用localhost:8000
postman 进行测试。
我尝试了其他端口号的几种组合,但都不起作用。Postman 总是返回ECONNRESET
,而 curl 则说:recv failure connection reset by peer
。
我已经在这个问题上纠结了 5 个小时。如果能得到一些帮助就太好了。
我的 SSH 配置是:
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
#HostbasedAuthentication no
#IgnoreUserKnownHosts no
#IgnoreRhosts yes
#PasswordAuthentication yes
#PermitEmptyPasswords no
#ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
GatewayPorts yes
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
AcceptEnv LANG LC_*
#Banner none
Subsystem sftp /usr/libexec/sftp-server
答案1
不确定服务器上发生了什么变化,但你可能会有更好的成功
ssh -L 8000:localhost:8000 remoteserver.com
这样做的目的是相同的,但是通过连接到 localhost 而不是 remoteserver.com 上的 remoteserver.com,您可以避免可能出现的 DNS 或防火墙问题。