这是设置的:
>在构建时,它们将端口2222上的tcp连接重定向到我的IP.
>同样适用于端口80,我可以达到.
>当我尝试通过端口2222上的SSH连接时,我可以使用iftop查看传入的网络活动.
>我得到了适当的规则:
2222 / TCP ALLOW Anywhere
>在sshd.conf文件中我得到了:
>我让ssh服务器在2222端口监听.
>我将ssh服务器设置为AUTH模式以进行日志记录,但在尝试连接时,我在/var/log/auth.log中看不到任何内容.
> This is my sshd.conf file.
>是的,ssh守护程序正在运行并重新启动.
因此,每当我尝试连接时,我都会收到如下消息:
ssh: connect to host <publicbuildingip> port 2222: Connection refused
以详细模式运行客户端输出:
deBUG1: Reading configuration data /etc/ssh/ssh_configdeBUG1: /etc/ssh/ssh_config line 19: Applying options for *deBUG1: Connecting to <publicip> [<publicip>] port 2222.deBUG1: connect to address <publicip> port 2222: Connection refusedssh: connect to host <publicip> port 2222: Connection refused
如果我尝试从同一网络的主机登录,也会发生同样的情况.
在服务器上运行netstat,如sudo netstat -tulpn | grep ssh输出:
tcp 0 0 127.0.0.1:2222 0.0.0.0:* ListEN 969/sshd
从网络外部对公共IP运行nmap输出:
Host is up (0.051s latency).Not shown: 996 filtered portsPORT STATE SERVICE21/tcp closed ftp80/tcp open http2222/tcp closed unkNown8080/tcp closed http-proxyNmap done: 1 IP address (1 host up) scanned in 5.31 seconds
尝试使用telnet< publicip> 2222
输出:
telnet: Unable to connect to remote host: Connection refused
如果在建筑物内部使用网络ip尝试也一样.
但是iftop在服务器上运行时显示,尝试登录时实际上是网络活动.
在服务器上运行tcpdump,如:tcpdump -vniay port 2222 -i eth0将在登录尝试时输出:
15:53:36.812402 IP (tos 0x0,ttl 64,ID 56954,offset 0,flags [DF],proto TCP (6),length 60) 192.168.1.86.39822 > 192.168.1.90.2222: Flags [S],cksum 0xa1b8 (correct),seq 3966921350,win 292000,options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7],lenght 0
它会失败的是什么?
解决方法 基于该netstat输出和您的sshd配置文件(尤其是 this line),您的SSH守护程序正在侦听仅本地IP地址(127.0.0.1),而不是实际与LAN通信或通过路由器/网关出站的IP网络上的设备.验证您的sshd_config是否设置为LAN上的ListenAddress行,例如分配给服务器的专用LAN IP地址.如果没有,请在port指令之后添加,使用ListenAddress 0.0.0.0或ListenAddress ::等语法,用实际的IPv4或IPv6地址替换这些项目.
请记住,绑定到127.0.0.0/8中的任何IP地址只会在本地计算机本身,而不是任何可以实际路由到LAN /本地网络/其他任何地方的地址.
总结以上是内存溢出为你收集整理的linux – 为什么ssh连接无法连接整个正确的设置?全部内容,希望文章能够帮你解决linux – 为什么ssh连接无法连接整个正确的设置?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)