限制IP远程访问
方法一:通过hosts.allow和hosts.deny文件进行ip限制
在/etc/目录下,同时存在hosts.allow和hosts.deny文件
如果我们希望某些ip不能访问,那么我们可以打开hosts.deny文件,在其中添加
sshd:ip地址:deny
其中sshd代表了连接协议,这里我们是禁止ssh登录;ip地址的话,可以是一个正常的地址,例如:192.168.2.111,也可以是通过设置子网掩码来确定一个ip段,例如:140.116.44.0/255.255.255.0。最后的deny代表了禁止访问。
当然,一般来说,我们设置安全性的时候,往往设置白名单的形式,也就是除了指定的ip外,其他ip都不能登录。对于这种需求,我们按照以下方法设定:
#在/etc/hosts.deny中添加
sshd:ALL:deny
#在/etc/hosts.allow中添加
sshd:允许的ip地址:allow
通过上面的设定,就可以完成ssh登录的ip限制了。但是这种方法,其实是借助了hosts访问设定。一方面hosts访问设定不仅仅为ssh而存在,其支持的协议很多,例如ftp,telnet等都可以进行限制;另外一方面,上述方式仅仅适合对ip进行限制,而不能细化到用户层级。如果希望对用户和ip同时进行限制,那么我们看下面另外一种方法。
方法二:通过/etc/ssh/sshd_config文件进行限制
之前我们其实已经对sshd_config文件有所了解,这个就是sshd的配置文件。如果我们需要对用户和ip进行ssh登录限制的话,也可以在这个文件里添加如下的内容:
allowusers *@192.168.2.111
allowusers git@*
allowusers test@192.168.2.111
denyusers *@192.168.1.101
denyusers banuser@*
以上语法应该很容易理解,可以设置允许/禁止某个用户@某个ip的访问。通过这个设置,我们可以更加精确的进行ssh登录管理。同时这个方法还只是allowgroups,denygroups等方法。另外/ect/pam.d/sshd文件中也可以进行类似的设置。
总结:以上两种方法,虽然实现了差不多的功能,但其初衷和原理并不相同。第一种方案,其实是针对外部访问的一种范式的配置,类似于iptables的访问控制,更加适用于对整个服务器的多种接入式的访问协议(ssh,ftp,telnet等)进行整体性的大面积的ip控制,使服务器的很多入口不至于完全暴露,往往是服务器安全管理人员和专职运维人员使用的较多。而第二种方案其实是针对sshd协议的精准控制,更多的用于服务器项目部署的用户权限设定和日常服务器操作维护中的用户权限设定,更加适用于使用该服务器进行项目部署的开发团队进行使用,通过这个方案可以非常精准的控制局域网内项目账号之间的ssh权限,及项目日常更新维护人员的权限设定。
限制IP远程访问的更多相关文章
- Windows 下如何设置 只允许固定IP远程访问
通过设置IP安全策略限制固定IP访问 说明: (1)以XP环境为例,步骤:先禁止所有IP,再允许固定IP访问. (2)配置过程中很多步骤图是重复的,一些没价值的图就省略了: (3)光看的话可能中间重复 ...
- TCP/IP远程访问操作:rwho,rlogin,rcp和rsh
TCP/IP网络通信 软件 包使用远程访问 的 命令 ,这些命令首先是由UC Berkely为Arpanet开发的.它允许您远程注册到另一个 系统 中,并从一个系统复制文件到另一个系统.您能取得关于一 ...
- mysql设置指定ip远程访问连接的方法
本文实例讲述了mysql设置指定ip远程访问连接的方法,分享给大家供大家参考.具体实现方法如下: 1. 授权用户root使用密码jb51从任意主机连接到mysql服务器: 复制代码 代码如下: GRA ...
- mysql用户权限设置,远程访问设置、设置固定ip远程访问,设置root用户不能远程访问mysql数据库
关于mysql的用户管理,笔记 1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost ...
- mysql数据库指定ip远程访问 指定用户 指定数据库
.登录 mysql -u root -p 之后输入密码进行登陆 .权限设置及说明 .1添加远程ip访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168 ...
- mysql数据库指定ip远程访问
1.登录 mysql -u root -p 之后输入密码进行登陆 2.权限设置及说明 2.1添加远程ip访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192. ...
- VMware虚拟机无法ping通/分配虚拟IP/远程访问的问题的解决方案:
最近老板要写俩web系统,没有自己的服务器,没办法,只好先借用下学院的服务器做下测试调试.那好,问题来了~ 学院的服务器不是我一个人在维护,经常有其他人登进登出(!!!担心文件丢失啊!!!),硬伤!! ...
- mysql设置指定ip远程访问连接实例
1. 授权用户root使用密码jb51从任意主机连接到mysql服务器: 复制代码代码如下: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED ...
- mysql授予IP远程访问访问语句
mysql -u root -p; GRANT ALL PRIVILEGES ON *.* TO '用户名'@'你的IP地址' IDENTIFIED BY '密码' WITH GRANT OPTION ...
随机推荐
- laravel 的 intervention-image 图像处理笔记
安装: https://blog.csdn.net/beyond__devil/article/details/62230610 需求: PHP >= 5.4 Fileinfo 扩展 GD库 & ...
- centos7.5单机yum安装kubernetes
1.系统配置 centos7.5 docker 1.13.1 centos7下安装docker 2.关闭防火墙,selinux,swapoff systemctl disable firewalld ...
- PE 装机
PE 装机 下载PE安装到硬盘启动. 下载win7安装原始文件ISO镜像文件,解压ISO到文件夹. 重启电脑,选择PE菜单. 打开windows安装器大全>选择 winntSetup> i ...
- Vue 修改dist 目录.
前后端分析之后,前端 打包处理 2
- java 线程状态相关测试
1. 启动netty server 等待接受客户端连接 package io.netty.example.myTest.nio; import java.io.IOException; import ...
- 尚硅谷redis学习9-发布订阅
是什么? 图示说明 命令 例子
- html兼容手机浏览器
其实主要就是改掉HTML页面声明: 在网页中加入以下代码,就可以正常显示了: <meta name="viewport" content="width=device ...
- Linux性能测试分析命令_top
top命令动态展示系统整体资源和各个进程资源占用状况,是Linux下常用的性能分析工具. top命令语法 使用格式:top [-] [d] [b] [H] [p] [q] [c] [C] [S] [s ...
- LeetCode OJ 145. Binary Tree Postorder Traversal
Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...
- 使用支持向量机(SVM) 算法进行分类
1 支持向量机(SVM)的基本概念 SVM是一种分类算法,其侧重于模式识别方面.使用SVM可以大大提高分类的准确性. 分类相当于模式识别的子集合,模式识别重点在于对已知数据进行特征发现与提取. ...