有时候为了服务器的安全考虑,我们可以在服务器上做限制,禁止其他ip地址连接服务器。

方法一:修改ssh配置文件

其实做这个操作很简单,只需要改/etc/ssh/sshd_config配置文件,再最后一行添加下面语句即可

allowusers root@49.4.151.24         ##注意此处添加的ip地址应为内网出口的公网ip地址,而不是局域网的内网ip
allowusers root@1.119.144.11 ##可以添加多行,表示容许多个ip访问服务器

修改完毕后重启ssh

/etc/init.d/sshd restart

测试

可以新建个用户,然后使用新用户登录,看能否登录上;还可以让朋友登录测试

如果测试过程中有问题,可以看登录日志tail -f  /var/log/secure 

下面日志中就可以看出来,我设置的内网ip并没有出现在日志中,而是一个公网ip,由此可以看出,配置文件识别的是公网ip(此也可以看出来自己的公网ip地址),修改配置文件

中的内网ip为公网ip后,测试通过。

方法二:修改两个配置文件/etc/hosts.allow和/etc/hosts.deny

/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段;

首先编辑允许连接服务器的ip,即可以放行的ip

Vim /etc/hosts.allow
添加一行
sshd:49.4.151.24:allow #此处ip仍然为局域网出口的公网ip

如果有多台服务器,比如我们有多台云服务器,那么这个允许的ip地址可能不一样,可以在登录服务器上会有ip地址提示,如下

然后编辑禁止连接服务器的ip地址

vim /etc/hosts.deny
输入(表示除了上面允许的,其他的ip 都拒绝登陆ssh)
sshd:ALL

编辑完上面两个文件后,无需重启任何配置文件,即时生效

上面两种方法对比的区别在于第一种方法限制范围更强,不仅限制了ip,而且用户不对,也登录不了服务器;第二种方法只限制了ip地址,只要密码正确,用户名不同也可以登录,这种适用于局域网中有多人需要登录服务器的需求。

注意:/etc/hosts.deny中的设置会影响ansible远程管理,如果需要ansible管理,可以将ansible所在的服务器地址(如果使用的私网ip,那么添加私网ip)添加到/etc/hosts.allow中

sshd:10.172.288.60:allow

限制ip ssh远程登录的更多相关文章

  1. Firefly安装ROS及ssh远程登录配置

    一.在Linux firefly 3.10.0 上安装ROS-indigo 快捷键 CTRL + ALT  + T 打开终端并安装ROS-indigo sudo sh -c 'echo "d ...

  2. ssh远程登录linux live系统

    要想ssh远程登录,须要准备两件事:配置同网段IP和开启SSH服务. 因为live系统没有IP,所以首先须要配置IP. 我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,liv ...

  3. python实现ssh远程登录

    python实现ssh远程登录 # 测试过程中,比较常用的操作就是将DUT(待测物)接入网络中,然后远程操控对DUT, # 使用SSH远程登陆到主机,然后执行相应的command即可 # python ...

  4. SSH远程登录CentOS服务器

    1.把ssh默认远程连接端口修改为2200编辑防火墙配置:vi /etc/sysconfig/iptables防火墙增加新端口2222 -A INPUT -m state --state NEW -m ...

  5. ssh 远程登录TX2

    TX2 端SSH操作 安装: sudo apt-get install openssh-server 确认sshserver是否启动: ps -e |grep ssh 如果看到sshd那说明ssh-s ...

  6. Docker实现CentOS容器SSH远程登录

    Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...

  7. Linux—修改ssh远程登录信息

    修改ssh远程登录端口 1.修改ssh服务的配置文件:/etc/ssh/sshd_config ,将 Port 22 改为 Port 3120 保存退出. [root@localhost ~]# vi ...

  8. 树莓派初入门(1):SSH远程登录与VNC远程桌面

    前言: 本文主要讲解,对于一个无树莓派显示屏,无键盘,无鼠标,手边只有手机,电脑和一个已烧录好raspbian-stretch系统的树莓派3B+的玩家,如何进行远程登录,进而可以进程桌面的连接. 工具 ...

  9. [转帖]SSH远程登录配置文件sshd_config详解

    SSH远程登录配置文件sshd_config详解 2016年06月02日 17:42:25 Field_Yang 阅读数 61386   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...

随机推荐

  1. HEVC/H.265 的未来必须是使用并行处理(OpenCL?) OpenCV和OpenCL区别

    1 扩展库简介 OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库.它最初由Intel公司开发,以GPL许可协议发布,后来 ...

  2. js身份证验证类

    var IDCard = function () { //---------------------------------------------------------- // 功能:根据身份证号 ...

  3. 【ML】scikit-learn-book

    http://nbviewer.ipython.org/github/gmonce/scikit-learn-book/tree/master/

  4. php通过字符串生存hashCode

    /** * * 生存hashCode * */function hashCode($str){ if(empty($str)) return ''; $str = strtoupper($str); ...

  5. C++学习地址

    1.http://blog.csdn.net/netanimals 2.http://blog.csdn.net/g710710/article/category/886003 3.http://bl ...

  6. MySQL------Navicat安装与激活

    转载: https://blog.csdn.net/WYpersist/article/details/79834490

  7. 基于Cocos2d-x学习OpenGL ES 2.0系列——纹理贴图(6)

    在上一篇文章中,我们介绍了如何绘制一个立方体,里面涉及的知识点有VBO(Vertex Buffer Object).IBO(Index Buffer Object)和MVP(Modile-View-P ...

  8. 【java】将List中的实体按照某个字段进行分组的算法

    如何将List中存放的实体按照某个字段进行分组呢?来看看下面的例子,假如实体中有个字段叫批次号,我们将具有相同批次号的实体放在一起,那么怎么实现呢?看下面的代码: 可以定义个Map,Map的key用于 ...

  9. windows 上驱动阻止关机重启操作

    Windows 上关机重启有很多相关的操作 HOOK 一个点搞不定  具体需要以下 4 处来布控 SSDT HOOK NtInitiatePowerAction 函数 ,直接返回失败废掉这个函数 SS ...

  10. 学习JQuery - 10

    第四章 Styling and Animating 1. 使用内联属性修改CSS 我们知道HTML在onload时会读取css的各项值. 那么,我们能不能在之后的操作中改变css值呢? 答案是肯定的! ...