在很多场景下,我们需要设置SSH密码登陆IP白名单,只允许特定的IP地址使用密码登陆。

首先,修改/etc/ssh/sshd_config配置文件,通过修改PasswordAuthentication全局关闭密码登录:

PasswordAuthentication no

1

PasswordAuthenticationno

然后,在/etc/ssh/sshd_config配置文件的末尾添加Match:

sshd_config中的Match

Match的语法是:

Match condition

Override config option 1

Override config option 2

1

2

3

Matchcondition

Overrideconfigoption1

Overrideconfigoption2

其中的条件包括:

User – Specifies the user to match. For example, if user is root allow login with ssh-keys but disallow everyone else.

Group – Specifies the group to match. For example, If user in group admin, allow login but disallow everyone else.

Host – Specifies the host to match

Address – Specifies the IP address or IP/subnet to match in CIDR format.

因此我们可以在sshd_config的最后增加:

Match Address XXX.XXX.XXX.XXX

PasswordAuthentication yes

1

2

MatchAddressXXX.XXX.XXX.XXX

PasswordAuthenticationyes

其中的XXX.XXX.XXX.XXX就是允许使用密码登陆的IP地址,即所谓的白名单。其含义为,当登录IP匹配XXX.XXX.XXX.XXX的形式时,允许采用密码登录。这里可以添加多个使用逗号分割的IP地址,也可以使用通配符、CIDR。

对于通配符而言:

* – It matches matches zero or more characters.

? – It matches exactly one character.

! – Patterns within pattern-lists may be negated with !.

例如:

## Match 192.168.1.1 to 192.168.1.9 ##

Match Address 192.168.1.?

PermitRootLogin yes

## Match 192.168.1.{2,3....} ##

Match Address 192.168.2.*

X11Forwarding no

## Allow any host in the ".home.lan" set of domains ##

Match Host *.home.lan

X11Forwarding yes

## Allow everyone except foo user ##

Match User *,!foo

X11Forwarding yes

PermitTunnel yes

PermitTTY no

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

## Match 192.168.1.1 to 192.168.1.9 ##

MatchAddress192.168.1.?

PermitRootLoginyes

## Match 192.168.1.{2,3....}  ##

MatchAddress192.168.2.*

X11Forwardingno

## Allow any host in the ".home.lan" set of domains ##

MatchHost *.home.lan

X11Forwardingyes

## Allow everyone except foo user ##

MatchUser *,!foo

X11Forwardingyes

PermitTunnelyes

PermitTTYno

最后,重启sshd服务:

systemctl restart sshd

1

systemctlrestartsshd

我们就会发现之前能够使用密码登陆的机器已经不能登陆了:

SSH被限制为仅有指定IP能够使用密码登陆

参考资料:

1、https://www.cyberciti.biz/faq/match-address-sshd_config-allow-root-loginfrom-one_ip_address-on-linux-unix/

ssh白名单_SSH密码登陆IP白名单相关推荐

  1. shiro设置ip白名单_Data Lake Analytics IP白名单设置攻略

    当我们成功开通了 DLA 服务之后,第一个最想要做的事情就是登录 DLA 数据库.而登录数据库就需要一个连接串.下面这个页面是我们首次开通 DLA 之后的界面,在这里我们要创建一个服务访问点. 在上面 ...

  2. 防火墙添加ip白名单_宝塔防火墙IP白名单添加/导入云盾YUNDUN高防CDN节点IP段

    由于宝塔Nginx/Apache防火墙的规则也是非常强的,如果不将云盾(YUNDUN)高防CDN节点IP段列入宝塔防火墙白名单的话,访客容易出现502等错误. 推荐使用宝塔Linux控制面板 你还没开 ...

  3. CentOS SSH 单向访问无需密码登陆

    一.环境配置 1.服务端:CentOS release 5.3  IP:223.73.125.198 2.客服端:CentOS release 5.8  IP:192.168.4.244 二.配置SS ...

  4. ssh配合vscode免密码登陆

    整体流程: 1. 在本机创建公钥和私钥 2. 在本地~/.ssh/config文件中,设置IdentifyFile为私钥地址 3. 将公钥上传到服务器 下面是每一步的详解: 1. 在本机创建公钥和私钥 ...

  5. android ip 黑白名单,GaussDB T 单机 IP黑白名单配置

    一.测试环境: 数据库服务器IP为192.168.100.1,侦听端口为1888.需配置的远程连接IP为192.168.100.,需禁止接入的IP为192.168.10.,192.168.2.225. ...

  6. IP暴露接口IP白名单设置

    暴露接口IP白名单设置 暴露接口IP白名单设置 CrazyL- 2018-01-03 14:36:15  4797  收藏 1 展开 String realIp = IPUtil.getIpAddr( ...

  7. Day One,配置ssh免密码登陆

    在配置过程中遇到一些问题,参考了下面的博文: http://blog.sina.com.cn/s/blog_76fbd24d01017je7.html http://jingyan.baidu.com ...

  8. 【Java】Socket网络编程实现内网穿透、端口映射转发、内网穿透上网工具的编写,设置IP白名单防火墙

    这里写目录标题 简介 更新 一.背景 1.1 情景假设 1.2 想要达到的目的 1.3 局限 1.3 解决方案一(路由器NAT) 1.4 解决方案二(云服务器转发) 二.方案介绍 2.1 方案简介 2 ...

  9. Data Lake Analytics IP白名单设置攻略

    2019独角兽企业重金招聘Python工程师标准>>> 当我们成功开通了 DLA 服务之后,第一个最想要做的事情就是登录 DLA 数据库.而登录数据库就需要一个连接串.下面这个页面是 ...

最新文章

  1. mysql jdbc路径,mysql转存数据库后,如何修改jdbc:mysql的路径
  2. mysql左连接去重查询_MYSQL-多表查询
  3. 数学思维比数学运算更重要
  4. C语言指针-字符指针整型指针char*s int*a
  5. Paypal 在线支付接口应用从零开始,第2节,[支付API原理及流程]
  6. Node.js开发入门(一)——安装Node.js及编辑器配置
  7. Solaris下设置nfs与nfs挂载
  8. Skype国际版下载地址(非Tom版)
  9. 路过秋天版博客 V2.0 正式版发布 增加后台管理系统[支持多语言、多用户、多数据库、目录级URL]
  10. 我在日本最大的房地产信息网站做重构
  11. CMD里如何用DiskPart命令删除分区
  12. Tree Shaking和sideEffects配置
  13. 【数据服务校招专场】云和恩墨2022届春季校招「数据服务岗位」持续招聘中!...
  14. pgsql设置字段自增
  15. html添加背景音乐自动循环播放,html在谷歌浏览器的背景音乐怎么做才能自动循环播放...
  16. java 判断字符串是否为英文
  17. 指令选择器调查(4)
  18. colorama==python改变输出字体颜色
  19. Lesson 1 A puma at large 内容鉴赏
  20. 日语python怎么说_利用python进行日语汉字-假名转换

热门文章

  1. 面试专题——Redis
  2. 我喜欢的15个WordPress插件
  3. vcruntime140_1.dll丢失的解决方法(仅一招解决)
  4. C语言整人的无限循环,让对方电脑自动关机的整人程序和无限循环程序-win7自动关机软件...
  5. C++ 优先队列priority_queue,如何定义大小根堆
  6. 系统杂类--------删除GHOSTwin7桌面顽固IE图标
  7. 20071011听力原文
  8. arduino温湿度计库文件_用ARDUINO开发板自制温湿度计(含WEMOS D1开发板环境安装)...
  9. 产品嘚吧嘚系列:大学城020产品模式研讨
  10. godspeed机器人_来自深渊(KINEMA CITRUS改编的电视动画作品)_百度百科