限制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 ...
随机推荐
- 【ASP.NET 进阶】TreeView控件学习
这几天上班没事做,也不好打酱油,学点没接触过的新东西吧,基本了解了下TreeView控件. TreeView 控件用于在树结构中显示分层数据,例如目录或文件目录等. 下面看代码吧: 1.效果图 2.静 ...
- Web移动端布局
说到移动端,不得不提适配问题,因为现如今市面上移动设备的分辨率大小不同,显然咱们常用的px单位在这个时候就有些不太灵光了,为此,css3出了一个新单位——rem,rem是移动端神器,它完美解决了分辨率 ...
- CRC16-CCITT C语言代码
代码如下,使用空间换时间的方法 #define CRC16_CCITT_SEED 0xFFFF // 该位称为预置值,使用人工算法(长除法)时 需要将除数多项式先与该与职位 异或 ,才能得到最后的除数 ...
- ISO7816之管脚定义
卡座的管脚定义 如果使用示波器或者逻辑分析仪来观察 连接C3.C5.C7 小技巧当C3为3.57MHZ时候,可以使用波特率为9600的串口来监听.
- day08-MySQl创建用户和授权
权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.grant等操作.那么一般情况DBA工程师会创建一个用户和密码,让你去连接数 ...
- centos服务器如何用命令查看哪个程序内存占用情况,硬盘空间占用
1.free -m只能查看内存总量情况 2.top M ( 注意M是大写) 3.ps aux|head -1; ps aux | sort -k4nr | head -10 ------------- ...
- English-新概念学习
English-英语字母发音全攻略.pdf English-新概念第一册笔记.rar English-新概念第二册笔记.rar English-新概念第三册笔记.rar English-英语训练用书. ...
- 07_组件三大属性(1)_state
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- linux shell 杂
1. 字符串截取 var=http://www.baidu.com/index.html echo ${var} var=http://www.baidu.com/index.html /*从左到右第 ...
- MethodInfo类的一般使用
1.MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下.故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它 是加载相同 ...