当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    Centos 7.4中的远程访问控制的实现方法

    栏目:win服务器问题汇总 时间:2019-11-13 17:14

    一、SSH远程管理

    SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的Telent、RSH、RCP、等应用相比,SSH协议提供了更好的安全性。

    1、配置OpenSSH服务端

    在Centos 7.4系统中,OpenSSH服务器由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。执行“systemctl start sshd”命令即可启动sshd服务,包括root在内的大部分用户都可以远程登录系统。sshd服务的配置文件默认位于/etc/ssh/sshd_config目录下,正确调整相关配置项,可以进一步提高sshd远程登录的安全性。

    1)服务监听选项

    sshd服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。V2版本要比V1版本的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度。

    [root@centos01 ~]# vim /etc/ssh/sshd_config  <!--编辑sshd主配置文件-->
    17 Port 22     <!--监听端口为22-->
    19 ListenAddress 192.168.100.10  <!--监听地址为192.168.100.10-->
    21 Protocol 2    <!--使用SSH V2协议-->
    118 UseDNS no  <!--禁用DNS反向解析-->
    ......       <!--此处省略部分内容-->
    [root@centos01 ~]# systemctl restart sshd  <!--重启sshd服务-->
    

    2)用户登录控制

    sshd服务默认允许root用户登录,但在Internet中使用时是非常不安全的。关于sshd服务的用户登录控制,通常应禁止root用户或密码为空的用户登录。另外,可以限制登录验证的时间(默认为2分钟)及最大重试次数,若超过限制后仍未能登录则断开连接。

    [root@centos01 ~]# vim /etc/ssh/sshd_config   <!--编辑sshd主配置文件-->
     37 LoginGraceTime 2m    <!--登录验证时间为2分钟-->
     38 PermitRootLogin yes   <!--禁止root用户登录-->
     40 MaxAuthTries 6        <!--最大重试次数为6-->
     67 PermitEmptyPasswords no    <!--禁止空密码用户登录-->
     ......       <!--此处省略部分内容-->
    [root@centos01 ~]# systemctl restart sshd      <!--重启sshd服务-->
    

    2、登录验证方式

    对于服务器的远程管理,除了用户账户的安全控制以外,登录验证的方式也非常重要。sshd服务支持两种验证方式——密码验证、密钥对验证,可以设置只使用其中一种方式,也可以两种方式都启用。

    密码验证:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举第三者时防御能力比较弱。

    密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥,私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在Shell中被广泛使用。

    当密码验证,密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密钥对验证方式;若没有特殊要求,则两种方式都可以启用。

    [root@centos01 ~]# vim /etc/ssh/sshd_config <!--编辑sshd主配置文件-->
     43 PubkeyAuthentication yes     <!--启用密钥对验证-->
     47 AuthorizedKeysFile   .ssh/authorized_keys <!--指定公钥库文件-->
     66 PasswordAuthentication yes    <!--启用密码验证-->
    ......       <!--此处省略部分内容-->
    [root@centos01 ~]# systemctl restart sshd     <!--重启sshd服务-->