怎样解决Linux端口22不通问题
Linux系统是一种开源的操作系统,具有开放性、高安全性、稳定性等优点,因此在服务器领域被广泛应用。但是在使用Linux系统时,遇到端口22不通的问题是比较常见的。这种情况一般是由于SSH服务未开启、防火墙配置不当等原因所导致的。针对这个问题,我们可以从以下几个方面入手解决。
一、检查SSH服务是否开启
在Linux系统中,SSH服务是通过22端口实现的。如果端口22不通,首先要检查SSH服务是否已开启。可以通过如下命令来检查:
sudo service ssh status
如果SSH服务未开启,则会显示SSH未运行。如果已开启,则会显示SSH正在运行。
如果SSH服务未开启,需要使用下面的命令来开启SSH服务:
sudo service ssh start
或者使用下面的命令来重启SSH服务:
sudo service ssh restart
然后再次检查端口22是否通畅。
二、检查防火墙配置
防火墙可以保障系统安全,但配置不当时也会导致端口22不通的问题。当遇到这种情况时,要检查防火墙配置是否正确。如果使用的是iptables防火墙,则可以通过如下命令查看规则:
sudo iptables -L
如果没有指定端口22的规则,需要添加该规则,使其通过22端口进行SSH连接。可以使用如下命令来添加规则:
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
然后再次检查端口22是否通畅。
如果使用的是firewalld防火墙,则可以通过如下命令查看规则:
sudo firewall-cmd –list-all
如果没有指定端口22的规则,需要添加该规则,使其通过22端口进行SSH连接。可以使用如下命令来添加规则:
sudo firewall-cmd –add-service=ssh –permanent
sudo firewall-cmd –reload
然后再次检查端口22是否通畅。
三、检查路由器配置
如果经过以上两步操作,端口22还是不通畅,那么需要检查路由器端口转发是否正确。当SSH连接建立时,需要使用路由器转发22端口到Linux服务器的22端口。
通过路由器界面进入端口转发设置页面,查看是否存在22端口的转发规则,如果不存在,需要手动添加规则。
四、检查网络状况
如果端口22仍然不通畅,可能是由于网络状况不佳造成的。可以使用如下命令来检查网络状况:
ping
如果网络很慢或者丢包率很高,需要将网络问题解决后再次检查端口22是否通畅。
相关问题拓展阅读:
- 两台linux服务器端口不通怎么解决
- Linux防火墙未生效就重启,现在进不去系统,默认22端口没生效,现在要把服务器端的防火墙关闭吗?
两台linux服务器端口不通怎么解决
检查默认的端口是否正常,如果都正常的话 ,需要联系机房进行处理的。
准备环境
启动敬册一个web服务器,提供端口.
?
$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 …
用其它web服务器提供端口也一样,由于python比较方便,陵稿搏这里就用它
1、使用telnet判断
telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.
用法: telnet ip port
1)先用telnet连接不存在的端口
?
# telnet 10.0.250.3 80
Trying 10.0.250.3…
telnet: connect to address 10.0.250.3: Connection refused #直接提示连接被拒绝
2)再连接存在的端口
?
# telnet localhost 22
Trying ::1…
Connected to localhost. #看到Connected就连接成功了
Escape character is ‘^>’.
SSH-2.0-OpenSSH_5.3
a
Protocol miatch.
Connection closed by foreign host.
2、使用ssh判断尺祥
ssh是linux的标准配置并且最常用,可以用来判断端口吗?
用法: ssh -v -p port username@ip
-v 调试模式(会打印日志).
-p 指定端口
username可以随意
1)连接不存在端口
?
# ssh 10.0.250.3 -p 80
ssh: connect to host 10.0.250.3 port 80: Connection refused
# ssh 10.0.250.3 -p 80 -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2023
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.0.250.3 port 80.
debug1: connect to address 10.0.250.3 port 80: Connection refused
ssh: connect to host 10.0.250.3 port 80: Connection refused
2)连接存在的端口
?
# ssh … -p
a
^>
^C
# ssh … -p -v
OpenSSH_.p, OpenSSL ..e-fips Feb
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Connecting to … port .
debug: Connection established.
debug: permanently_set_uid: /
debug: identity file /root/.ssh/identity type –
debug: identity file /root/.ssh/identity-cert type –
debug: identity file /root/.ssh/id_rsa type –
debug: identity file /root/.ssh/id_rsa-cert type –
debug: identity file /root/.ssh/id_dsa type –
debug: identity file /root/.ssh/id_dsa-cert type –
a
^C
不用-v选项也可以咯
3、使用wget判断
wget是linux下的下载工具,需要先安装.
用法: wget ip:port
1)连接不存在的端口
?
# wget …:
—- ::–
Connecting to …:… failed: Connection refused.
2)连接存在的端口
?
# wget …:
—- ::–
Connecting to …:… connected.
HTTP request sent, awaiting response…
4、使用端口扫描工具
?
# nmap … -p
Starting Nmap . (
) at — : CST
Nmap scan report for …
Host is up (.s latency).
PORT STATE SERVICE
/tcp closed http
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
# nmap … -p
Starting Nmap . (
) at — : CST
Nmap scan report for …
Host is up (.s latency).
PORT STATE SERVICE
/tcp open http-proxy
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
# nmap …
Starting Nmap . (
) at — : CST
Nmap scan report for …
Host is up (.s latency).
Not shown: closed ports
PORT STATE SERVICE
/tcp open ssh
/tcp open rpcbind
/tcp open http-proxy
/tcp open unknown
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
总结
提供端口服务,则使用了tcp协议,上面是以web服务器为例。如果服务器是更简单的tcp服务器,三个工具同样适用.
三个工具的共同点是:1.以tcp协议为基础;2.能访问指定端口. 遵循这两点可以找到很多工具.
Linux防火墙未生效就重启,现在进不去系统,默认22端口没生效,现在要把服务器端的防火墙关闭吗?
一、建议使用kvm进入服务器,先关闭防火墙。
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
二、然后使用iptables编写出入规则
1、编辑vi /etc/sysconfig/iptables 配置。使其生效的办法是修渗弯改好后先service iptables restart,然后才调用/etc/rc.d/init.d/iptables save。
iptables属性
-A:指定此指链名
-p:指定协议类型
-d:指定目标地址
–dport:指定目标端口(destination port 目的端口)
–sport:指定源端口(source port 源端口)
-j:指定动作类型
2、如果我不想修改文件直接丛扒闷打命令可以吗,当然没问题,步骤如下:
例如我给SSH加放行的语句:
添加input记录: iptables -A INPUT -p tcp –dport 22 -j ACCEPT
添加output记录: iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
最后保存/etc/rc.d/init.d/iptables save。
注:各个linux版本文件配置存放会有差异。
linux 端口22不通的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 端口22不通,怎样解决linux端口22不通问题,两台linux服务器端口不通怎么解决,Linux防火墙未生效就重启,现在进不去系统,默认22端口没生效,现在要把服务器端的防火墙关闭吗?的信息别忘了在本站进行查找喔。