ssh中如何配置只允许某个IP以某个账号登录服务器

只要在ssh的配置文件:sshd_config中添加如下一行即可
Allowusers username@192.168.1.100
上述只允许IP地址是192.168.1.100的机器以username用户登录。

限制通过SSH登陆Linux的IP,那么可以如下做:

先:修改/etc/hosts.deny,在其中加入sshd:ALL,注意不能加#号

然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.1.16

这样设置就只允许192.168.1.16的IP通过SSH登陆上LINUX机器了。

当然在做为服务器方面,不安装gnome和KDE图形化界面,可以增加安全系数。

修改端口:

vi /etc/ssh/sshd_config

找到#Port 22一段,这里是标识默认使用22端口,修改为如下:

Port 22

Port 999

去掉前面的#号。

然后保存退出

在终端输入命令:/etc/init.d/sshd restart 重新启动ssh服务。

这样SSH端口将同时工作与22和999上。

现在编辑防火墙配置:vi /etc/sysconfig/iptables

启用999端口。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 999 -j ACCEPT

在终端输入命令:/etc/init.d/iptables restart 重新启动防火墙的访问规则。

现在请使用ssh工具连接999端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置和防火墙的端口,将里边的Port22删除,然后重新启动ssh服务和防火墙的访问规则即可。

之所以先设置成两个端口,测试成功后再关闭一个端口,是为了防止在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试,以免发生连接不上必须派人去机房,导致问题更加复杂的麻烦。

限制SSH以ROOT方式登录:

vi /etc/ssh/sshd_config

找到#PermitRootLogin yes

新增:PermitRootLogin no

保存退出

重启ssh服务:service sshd restart

 
方法1:在/etc/pam.d/sshd文件中加入
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然后在/etc下建立sshusers文件,编辑这个文件,加入你允许使用ssh服务的用户名,重新起动
sshd服务即可。

方法2:pam规则也可以写成deny的
auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed
方法3:在sshd_config中设置AllowUsers,格式如
AllowUsers a b c
重启sshd服务,则只有a/b/c3个用户可以登陆

 
 

1,只允许某个IP登录,拒绝其他所有IP
在 /etc/hosts.allow 写:
sshd: 1.2.3.4
在 /etc/hosts.deny 写:
sshd: ALL

用 iptables 也行:
iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT

2,禁止某个用户通过ssh登录
在/etc/ssh/sshd_conf添加
AllowUsers 用户名
或者
AllowGroups 组名
或者
DenyUsers 用户名

3,设定登录黑名单
vi /etc/pam.d/sshd
增加
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshd_user_deny_list onerr=succeed

所有/etc/sshd_user_deny_list里面的用户被拒绝ssh登录

SSH限制与更改端口、限制ROOT方式登录的更多相关文章

  1. 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

    VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...

  2. Linux生成ssh密钥免密登录,允许/禁止密码登录,允许/禁止root远程登录,更改ssh端口

    进入想要使用密钥登录的用户家目录 cd 或 cd ~ 执行密钥创建命令,不行可能需要下载openssh-server与openssh-client ssh-keygen -t rsa -P " ...

  3. linux修改ssh端口 以及禁止root远程登录 (实验机 CentOs)

    把ssh默认远程连接端口修改为3333 1.编辑防火墙配置: vi /etc/sysconfig/iptables 防火墙新增端口3333,方法如下: -A INPUT -m state --stat ...

  4. ssh暴力破解解决方案(Centos7更改端口)

    服务器默认ssh远程连接端口为22端口,通常通过22远程连接的话,容易有ssh暴力破解的风险,给我们造成一定的损失.下面是更换ssh端口过程: 1.添加ssh端口 vim /etc/ssh/sshd_ ...

  5. centos6.8+openvpn实现账户密码连接(通过端口映射的方式)

    #搭建openvpn(编译安装) 初始化环境 #update epel mirror yum install wget -y cd /etc/yum.repos.d && rm -rf ...

  6. SSH高级应用(端口转发)

    转发自:http://www.cnblogs.com/sting2me/p/5167730.html 基于SSH协议的端口转发 [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透 ...

  7. redis修改密码和更改端口

    Liunx下redis修改密码和更改端口 redis一个实例就是一个节点,每个节点分配一个端口号,每个节点对应一个redis.conf配置文件. redis默认配置的端口号是6379,假设现在要多配置 ...

  8. 添加ssh服务构建新镜像-docker commit 方式01

    添加ssh服务构建新镜像-docker commit 方式 1:docker commit构建自定义镜像---一般不推荐使用这种方式构建新镜像 1:ubuntu基础镜像下载 ubuntu@ubuntu ...

  9. Linux禁止root远程登录及修改默认端口

    1.1 修改SSHD配置,禁止root远程登录 禁止登录之前先穿甲一个可以远程登录的普通用户,以免造成登录不了的情况 [root@jhkj66 ~]# useradd yw001 #创建用户 [roo ...

随机推荐

  1. R 《回归分析与线性统计模型》page121,4.4

    rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 4) names(A) = c("ord"," ...

  2. python2.7编译安装升级python3并安装Scrapy

    一.安装python3 1.wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz 2.编译安装,在编译安装前需要构建编译环境,安装 ...

  3. centos7创建ssh公钥

    步骤1:使用ssh-keygen命令创建公钥和私钥 [root@model /]# [root@model /]# ssh-keygen -t rsa -P '' Generating public/ ...

  4. leetcode1302 Deepest Leaves Sum

    """ Given a binary tree, return the sum of values of its deepest leaves. Example 1: I ...

  5. pom.xml报unknown error

    1. 从https://start.spring.io/的spring initializr生成demo,使用默认的2.1.6.release(2019年7月10日) 2. 在eclipse加载后,p ...

  6. OPENCV2.46 与2.4.10以上版本的区别

    本人系统环境: CPU:Intel(R)Core(TM) i3-4160 CPU @ 3.60GHz 内存:4G 接两路摄像机,一路海康,一路艾普视达.CPU占有率95%.发现opencv2.4.10 ...

  7. springboot启动微服务项目时,启动后没有端口号信息,也访问不了

    2018-06-05 13:43:42.282 [localhost-startStop-1] DEBUG org.apache.catalina.core.ContainerBase - Add c ...

  8. python 求两个数的最大公约数

    给定两个整数a,b,求他们的最大公约数 def gcd(a,b): if a<b: a,b=b,a while(a%b != 0): c = a%b a=b b=c return b a,b = ...

  9. SQLAlchemy建立数据库模型之间的关系

    一对多关系 多对一关系 多对多关系 一对一关系 一对多关系(一个作者,多篇文章) ## 一对多关系,单作者-多文章,外键不可少 ## 外键(ForeignKey)总在多的那边定义,关系(relatio ...

  10. java中JDBC当中请给出一个DataSource的HelloWorld例子

    在前面 的jdbc的Helloworld程序当中,我们用DriverManager来获取数据库连接.事实上通过这种方法获取数据库连接,是比较耗费计算机资 源的.当然了,这也是没有办法的事儿.就像我们买 ...