Xshell(远程)连接不上linux服务器(防火墙介绍)
一、原因
远程(ssh)连接不上linux服务器的大多数原因都是因为本地服务器的防火墙策略导致的,因此我们想ssh远程能够连接上服务器,有两种方法:
- 修改防火墙策略
- 关闭防火墙
二、防火墙服务介绍
1.CentOS7常用的防火墙有:iptables 与 firewalld
2.但需要注意的是:iptables 与 firewalld 都不是真正的防火墙, 它们都只是用来定义防火墙策略的防火墙管理工具,是一种服务。
3.Centos 7默认使用的是firewalld,而实际上iptables与firewalld只是单纯的配置规则的客户端工具,而真正起到防火墙作用(过滤/转发等功能)是内核netfilter模块。如果需要改用iptables的话,需要安装iptables服务:
yum install iptables-services
systemctl start iptables # 开启防火墙
systemctl enable iptables # 设置开机启动防火墙
systemctl stop iptables # 关闭防火墙
systemctl disable iptables # 设置禁止开机启动防火墙
4.firewalld与iptables的不同
- firewalld 使用区域和服务而不是链式规则。
- firewalld 可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。
iptables 服务在 /etc/sysconfig/iptables 中储存配置,而 FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里,使用 iptables 的时候每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables 里读取所有新的规则,使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同。因此 FirewallD 可以在运行时改变设置而不丢失现行配置。
FirewallD的配置方法主要有三种:
- firewall-config
- firewall-cmd
- 直接编辑xml文件
其中 firewall-config是图形化工具,firewall-cmd是命令行工具,而对于linux来说大家应该更习惯使用命令行方式的操作,所以 firewall-config(适合用于桌面版)
5.图示

三、具体操作实例
我的linux服务器的发行版本是CentOS7版本。
1、修改防火墙策略
修改防火墙策略,目的是为了开启22端口,因为ssh远程的端口就是22
这里进行修改是指直接用客户机登录进服务器进行操作,而不是直接xshell连接,因为22端口没开之前,xshell是连接不上的
1.ifconfig # 查看ip网卡信息,记住eth0,eth1对应哪个ip地址
root@aliyunzbj /tmp o ifconfig
eth0: flags=2256<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.53 netmask 255.255.255.0 broadcast 192.168.10.255
... eth1: flags=2257<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.26.66 netmask 255.255.255.0 broadcast 192.168.26.255
... lo: flags=82<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.255.255.0
... 2.查看当前的iptables防火墙配置
root@aliyunzbj /tmp o iptables-save ...
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j MANAGE-INPUT # MANAGE-INPUT代表eth0网卡的防火墙策略
-A INPUT -i eth1 -j USER-INPUT # USER-INPUT代表eth1网卡的防火墙策略
...
# 这里可以看到MANAGE-INPUT即eth0网卡开启了22端口,但是下面的策略并没有看到USER-INPUT(eth1)开启22端口
-A MANAGE-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
... 3.给网卡eth1添加22端口
# 可以直接复制上面的策略,把MANAGE-INPUT改成USER-INPUT即可(如果eth0也没有开启,那么只需要把USER-INPUT改成MANAGE-INPUT再配置一次这个命令即可)
root@aliyunzbj /tmp o iptables -A USER-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 4.再次查看策略
root@aliyunzbj /tmp o iptables-save ...
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j MANAGE-INPUT # MANAGE-INPUT代表eth0网卡的防火墙策略
-A INPUT -i eth1 -j USER-INPUT # USER-INPUT代表eth1网卡的防火墙策略
...
-A MANAGE-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A USER-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
...
5.也可以把上面新增的策略直接添加到 /etc/sysconfig/iptables,重启iptables服务
2、关闭防火墙
最直接的方法就是直接把防火墙策略关了
1.查看防火墙状态
systemctl status iptables.service 2.如果防火墙开启了,那么直接关闭
systemctl stop iptables.service
Xshell(远程)连接不上linux服务器(防火墙介绍)的更多相关文章
- ssh远程连接不上linux
远程连接工具是:Xmanager Enterprise 5-->Xshell linux 发行版本是:CentOS-6.3-x86_64 问题:ssh一直都可以远程连接上linux,一段时间后突 ...
- 远程连接你的linux服务器
为什么要远程连接linux 在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远 ...
- navicat连接不上Linux服务器上的MySQL
1.首先确定你的linux已经关闭防火墙 详细操作点这里: 如果是公司服务器防火墙比较重要不能关闭,那就麻烦点了,需要在防火墙的配置文件下配置属性. 如果还不能解决,请继续往下看. 2.如果是云服务器 ...
- VNC远程连接阿里云Linux服务器 图形界面
VNC 简介: VNC,全称:Virtual Network Computing,即虚拟网络计算机:分客户端和服务端,即VNC Viewer和VNC Server.它是一款远程控制的软件,一般用于远程 ...
- 问题1-xshell远程连接不上linux主机
在其他主机上搭建linux系统,我们一般通过xshell工具去远程访问该主机,这样不仅可以方便我们的对系统或者集群进行管理也方便了我们的操作,但是在搭建好环境的时候遇到如下问题: 解决方案:1.关闭目 ...
- navicat连接不上Linux服务器上的mysql的解决办法
一开始,心情是沉痛的,截图如下: 转载请注明出处:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-na ...
- 其他综合-使用Xshell远程连接管理Linux实践
使用Xshell远程连接管理Linux实践 1. Xshell整体优化 1)点击 工具 ,然后选择 选项 2)在 常规 选项中,下面的存放路径根据个人爱好修改(可选默认) 3)在 更新 选项中,将 √ ...
- 虚拟机virtualBox安装linux系统 xshell远程连接linux
虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...
- Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇
一:putty 下载 1:认准两个地方 a. Download putty b. chiark greenend 2:下载32位的zip包,这是一个工具包合集,不单是一个终端工具 二:putty设置 ...
随机推荐
- leetcode 39 dfs leetcode 40 dfs
leetcode 39 先排序,然后dfs 注意先整全局变量可以减少空间利用 class Solution { vector<vector<int>>ret; vector&l ...
- 操作系统:Linux进程与线程
这里是一部分内容,还会做修改. 一:目的及内容 学习fork(),exec,pthread库函数的使用,阅读源码,分析fork,exec,pthread_create函数的机理 代码实现: 进程A创建 ...
- cookie,session,token之间的联系与区别
发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用 ...
- JVM系列(三):JVM创建过程解析
上两篇中梳理了整个java启动过程中,jvm大致是如何运行的.即厘清了我们认为的jvm的启动过程.但那里面仅为一些大致的东西,比如参数解析,验证,dll加载等等.把最核心的loadJavaVM()交给 ...
- making a resizable div effect in vanilla js
making a resizable div effect in vanilla js scroll image compare <!DOCTYPE html> <html lang ...
- Android 如何设置 WebView 的屏幕占比
Android 如何设置 WebView 的屏幕占比 由于 Android 适用于具有各种屏幕尺寸和像素密度的设备,因此您在设计网页时应将这些因素纳入考虑范围,以便您的网页始终以合适的尺寸显示. We ...
- Axios 取消 Ajax 请求
Axios 取消 Ajax 请求 Axios XMLHttpRequest https://caniuse.com/?search=XMLHttpRequest https://developer.m ...
- setTimeout 实现原理, 机制
setTimeout 实现原理, 机制 JS 执行机制说起 浏览器(或者说 JS 引擎)执行 JS 的机制是基于事件循环. 由于 JS 是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任 ...
- github & markdown & image layout
github & markdown & image layout css & right https://github.com/sindresorhus/log-symbols ...
- TypeScript 3.7 RC & Optional Chaining
TypeScript 3.7 RC & Optional Chaining https://devblogs.microsoft.com/typescript/announcing-types ...