一、原因

远程(ssh)连接不上linux服务器的大多数原因都是因为本地服务器的防火墙策略导致的,因此我们想ssh远程能够连接上服务器,有两种方法:

  1. 修改防火墙策略
  2. 关闭防火墙

二、防火墙服务介绍

1.CentOS7常用的防火墙有:iptables 与 firewalld

2.但需要注意的是:iptables 与 firewalld 都不是真正的防火墙, 它们都只是用来定义防火墙策略的防火墙管理工具,是一种服务。

3.Centos 7默认使用的是firewalld,而实际上iptables与firewalld只是单纯的配置规则的客户端工具,而真正起到防火墙作用(过滤/转发等功能)是内核netfilter模块。如果需要改用iptables的话,需要安装iptables服务:

  1. yum install iptables-services
  2. systemctl start iptables # 开启防火墙
  3. systemctl enable iptables # 设置开机启动防火墙
  4. systemctl stop iptables # 关闭防火墙
  5. systemctl disable iptables # 设置禁止开机启动防火墙

4.firewalld与iptables的不同

  1. firewalld 使用区域和服务而不是链式规则。
  2. firewalld 可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。

iptables 服务在 /etc/sysconfig/iptables 中储存配置,而 FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里,使用 iptables 的时候每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables 里读取所有新的规则,使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同。因此 FirewallD 可以在运行时改变设置而不丢失现行配置。

FirewallD的配置方法主要有三种:

  1. firewall-config
  2. firewall-cmd
  3. 直接编辑xml文件

其中 firewall-config是图形化工具,firewall-cmd是命令行工具,而对于linux来说大家应该更习惯使用命令行方式的操作,所以 firewall-config(适合用于桌面版)

5.图示

三、具体操作实例

我的linux服务器的发行版本是CentOS7版本。

1、修改防火墙策略

修改防火墙策略,目的是为了开启22端口,因为ssh远程的端口就是22

这里进行修改是指直接用客户机登录进服务器进行操作,而不是直接xshell连接,因为22端口没开之前,xshell是连接不上的

  1. 1.ifconfig # 查看ip网卡信息,记住eth0,eth1对应哪个ip地址
  2. root@aliyunzbj /tmp o ifconfig
  3. eth0: flags=2256<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  4. inet 192.168.10.53 netmask 255.255.255.0 broadcast 192.168.10.255
  5. ...
  6.  
  7. eth1: flags=2257<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  8. inet 192.168.26.66 netmask 255.255.255.0 broadcast 192.168.26.255
  9. ...
  10.  
  11. lo: flags=82<UP,LOOPBACK,RUNNING> mtu 65536
  12. inet 127.0.0.1 netmask 255.255.255.0
  13. ...
  14.  
  15. 2.查看当前的iptables防火墙配置
  16. root@aliyunzbj /tmp o iptables-save
  17.  
  18. ...
  19. -A INPUT -i lo -j ACCEPT
  20. -A INPUT -i eth0 -j MANAGE-INPUT # MANAGE-INPUT代表eth0网卡的防火墙策略
  21. -A INPUT -i eth1 -j USER-INPUT # USER-INPUT代表eth1网卡的防火墙策略
  22. ...
  23. # 这里可以看到MANAGE-INPUT即eth0网卡开启了22端口,但是下面的策略并没有看到USER-INPUT(eth1)开启22端口
  24. -A MANAGE-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  25. ...
  26.  
  27. 3.给网卡eth1添加22端口
  28. # 可以直接复制上面的策略,把MANAGE-INPUT改成USER-INPUT即可(如果eth0也没有开启,那么只需要把USER-INPUT改成MANAGE-INPUT再配置一次这个命令即可)
  29. root@aliyunzbj /tmp o iptables -A USER-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  30. 4.再次查看策略
  31. root@aliyunzbj /tmp o iptables-save
  32.  
  33. ...
  34. -A INPUT -i lo -j ACCEPT
  35. -A INPUT -i eth0 -j MANAGE-INPUT # MANAGE-INPUT代表eth0网卡的防火墙策略
  36. -A INPUT -i eth1 -j USER-INPUT # USER-INPUT代表eth1网卡的防火墙策略
  37. ...
  38. -A MANAGE-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  39. -A USER-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  40. ...

    5.也可以把上面新增的策略直接添加到 /etc/sysconfig/iptables,重启iptables服务

2、关闭防火墙

最直接的方法就是直接把防火墙策略关了

  1. 1.查看防火墙状态
  2. systemctl status iptables.service
  3.  
  4. 2.如果防火墙开启了,那么直接关闭
  5. systemctl stop iptables.service

Xshell(远程)连接不上linux服务器(防火墙介绍)的更多相关文章

  1. ssh远程连接不上linux

    远程连接工具是:Xmanager Enterprise 5-->Xshell linux 发行版本是:CentOS-6.3-x86_64 问题:ssh一直都可以远程连接上linux,一段时间后突 ...

  2. 远程连接你的linux服务器

    为什么要远程连接linux 在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远 ...

  3. navicat连接不上Linux服务器上的MySQL

    1.首先确定你的linux已经关闭防火墙 详细操作点这里: 如果是公司服务器防火墙比较重要不能关闭,那就麻烦点了,需要在防火墙的配置文件下配置属性. 如果还不能解决,请继续往下看. 2.如果是云服务器 ...

  4. VNC远程连接阿里云Linux服务器 图形界面

    VNC 简介: VNC,全称:Virtual Network Computing,即虚拟网络计算机:分客户端和服务端,即VNC Viewer和VNC Server.它是一款远程控制的软件,一般用于远程 ...

  5. 问题1-xshell远程连接不上linux主机

    在其他主机上搭建linux系统,我们一般通过xshell工具去远程访问该主机,这样不仅可以方便我们的对系统或者集群进行管理也方便了我们的操作,但是在搭建好环境的时候遇到如下问题: 解决方案:1.关闭目 ...

  6. navicat连接不上Linux服务器上的mysql的解决办法

    一开始,心情是沉痛的,截图如下: 转载请注明出处:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-na ...

  7. 其他综合-使用Xshell远程连接管理Linux实践

    使用Xshell远程连接管理Linux实践 1. Xshell整体优化 1)点击 工具 ,然后选择 选项 2)在 常规 选项中,下面的存放路径根据个人爱好修改(可选默认) 3)在 更新 选项中,将 √ ...

  8. 虚拟机virtualBox安装linux系统 xshell远程连接linux

    虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...

  9. Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇

     一:putty 下载 1:认准两个地方 a. Download putty b. chiark greenend 2:下载32位的zip包,这是一个工具包合集,不单是一个终端工具 二:putty设置 ...

随机推荐

  1. codeforces 1010 C. Border【exgcd】

    题目链接:戳这里 学习博客:戳这里 题意:给n种数,n种数取任意个任意组合相加为sum,求sum%k有哪些值. 解题思路: 由exgcd可知(具体用到的是贝祖定理),ax + by = c,满足gcd ...

  2. mybaits(十)mybatis常见面试

      面试题总结 1.MyBatis 解决了什么问题? 或:为什么要用 MyBatis? 或:MyBatis 的核心特性? 1)资源管理(底层对象封装和支持数据源) 2)结果集自动映射 3)SQL 与代 ...

  3. 【DP】区间DP入门

    在开始之前我要感谢y总,是他精彩的讲解才让我对区间DP有较深的认识. 简介 一般是线性结构上的对区间进行求解最值,计数的动态规划.大致思路是枚举断点,然后对断点两边求取最优解,然后进行合并从而得解. ...

  4. Emacs和Vim:神的编辑器和编辑器之神, 到底哪个更好?

    Emacs和Vim:神的编辑器和编辑器之神, 到底哪个更好? 在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神. 一些人勇敢地拾起了Vim或Emacs,却发 ...

  5. cocos2d-x & cocos2d-js

    cocos2d-x & cocos2d-js cocos2d-x new https://github.com/cocos2d/cocos2d-x cocos2d-x is a multi-p ...

  6. MongoDB Manually config

    MongoDB Manually config macOS 10.15.x path error exception in initAndListen: NonExistentPath: Data d ...

  7. Vue SSR in Action

    Vue SSR in Action https://ssr.vuejs.org/ https://ssr.vuejs.org/api/ https://ssr.vuejs.org/guide/data ...

  8. NGK:APP一站式挖矿高收益项目

    NGK是10月中旬刚上线的公链项目,采用手机挖矿形式.NGK数字增益平台,200美金即可入场,收益可观,分为静态和动态两种,投资算力收益超高.邀请好友挖矿还有额外的返佣. NGK立志为所有人创造无差别 ...

  9. Python算法_三种斐波那契数列算法

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列&qu ...

  10. 鸿蒙js开发7 鸿蒙分组列表和弹出menu菜单

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口]目录:1.鸿蒙视图效果2.js业务数据和事件3.页面视图代码4.跳转页面后的视图层5.js业务逻辑部分6.<鸿蒙js开发& ...