千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、SSH远程管理SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的Telent、RSH
千家信息网最后更新 2026年11月01日Centos 7.4中的远程访问控制的实现方法

一、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  17 Port 22     19 ListenAddress 192.168.100.10  21 Protocol 2    118 UseDNS no  ......       [root@centos01 ~]# systemctl restart sshd  

2)用户登录控制

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

[root@centos01 ~]# vim /etc/ssh/sshd_config    37 LoginGraceTime 2m     38 PermitRootLogin yes    40 MaxAuthTries 6         67 PermitEmptyPasswords no     ......       [root@centos01 ~]# systemctl restart sshd      

2、登录验证方式

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

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

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

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

[root@centos01 ~]# vim /etc/ssh/sshd_config  43 PubkeyAuthentication yes      47 AuthorizedKeysFile   .ssh/authorized_keys  66 PasswordAuthentication yes    ......       [root@centos01 ~]# systemctl restart sshd     

其中,公钥文件用来保存多个客户端上传的公钥文本,以便与客户端本地的私钥文件进行匹配。

二、使用SSH客户端程序

在Centos 7.4系统中,OpenSSH客户端由openssh-clients软件包提供(默认已安装),其中包括ssh远程登录命令,以及scp、sftp远程复制和文件传输命令等。

1、命令程序ssh远程登录

通过ssh命令可以远程登录sshd服务,为用户提供一个安全的Shell环境,以便对服务器进行管理和维护。使用时应指定登录用户、目标主机地址作为参数。示例如下:

[root@centos02 ~]# ssh root@192.168.100.10root@192.168.100.10's password: Last login: Mon Nov 11 19:02:50 2019 from 192.168.100.254[root@centos01 ~]# [root@centos01 ~]# [root@centos01 ~]# ssh root@192.168.100.10The authenticity of host '192.168.100.10 (192.168.100.10)' can't be established.ECDSA key fingerprint is SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.ECDSA key fingerprint is MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.Are you sure you want to continue connecting (yes/no)? yes  Warning: Permanently added '192.168.100.10' (ECDSA) to the list of known hosts.root@192.168.100.10's password:   Last login: Mon Nov 11 19:03:08 2019 from 192.168.100.20[root@centos01 ~]# who     root   pts/1    2019-11-11 19:03 (192.168.100.20)root   pts/2    2019-11-11 19:04 (192.168.100.10)

如果sshd服务器使用了非默认的端口(如2222),则在登录时必须通过"-p"选项指定端口号。示例如下:

[root@centos01 ~]# vim /etc/ssh/sshd_configPort 2222     [root@centos01 ~]# systemctl restart sshd  [root@centos02 ~]# ssh -p 2222 root@192.168.100.10   root@192.168.100.10's password:     Last login: Mon Nov 11 19:20:28 2019 from 192.168.100.10[root@centos01 ~]#      

2、scp远程复制

通过scp命令可以利用SSH安全连接与远程主机相互复制文件,使用scp命令时,除了必须指定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入验证口令即可。示例如下:

[root@centos02 ~]# scproot@192.168.100.10:/etc/ssh/sshd_config ./      root@192.168.100.10's password:   sshd_config          100% 3910   3.6MB/s  00:00  [root@centos02 ~]# scp -r ./sshd_configroot@192.168.100.10:/opt        root@192.168.100.10's password:   sshd_config          100% 3910   1.2MB/s  00:00  

3、sftp安装FTP

通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互环境,便于目录资源管理。示例如下:

[root@centos01 ~]# cd /opt/    [root@centos01 opt]# sftp root@192.168.100.20  root@192.168.100.20's password:   Connected to 192.168.100.20.sftp> pwd    Remote working directory: /rootsftp> put sshd_config    Uploading sshd_config to /root/sshd_configsshd_config          100% 3910   6.4MB/s  00:00  sftp> get sshd_config     Fetching /root/sshd_config to sshd_config/root/sshd_config       100% 3910   3.6MB/s  00:00  sftp> exit         

三、构建密钥对验证的SSH体系

密钥对验证方式可以远程登录提供更好的安全性。在Linux服务器、客户端中构建密钥对验证SSH体系的基本过程。如下图所示,整个过程包括四步,首先要在SSH客户端以zhangsan用户身份创建密钥对,并且要将创建的公钥文件上传至SSH服务器端,然后要将公钥信息导入服务器端的目标用户lisi的公钥数据库,最后以服务器端用户lisi的身份登录验证。

1、在客户端创建密钥对

在客户端中,通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为ECDSA或DSA(ssh-keygen命令的"-t"选项用于指定算法类型)。示例如下:

[root@centos02 ~]# ssh-keygen -t dsa   Generating public/private dsa key pair.Enter file in which to save the key (/root/.ssh/id_dsa):  Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase): Enter same passphrase again:    Your identification has been saved in /root/.ssh/id_dsa.Your public key has been saved in /root/.ssh/id_dsa.pub.The key fingerprint is:SHA256:zv0EdqIuOfwSovN2Dkij08y9wZ0f1+IyhY7LFNKKzkk root@centos02The key's randomart image is:+---[DSA 1024]----+|         ||         ||         ||   .      || o . o S.+ .  || * *.+.=.+.=   ||o E.*o+==.+ o  || =o..*Oo++ +   || ++oo+*+o. .  |+----[SHA256]-----+[root@centos02 ~]# ls -lh ~/.ssh/id_dsa* -rw------- 1 root root 668 11月 12 16:11 /root/.ssh/id_dsa-rw-r--r-- 1 root root 603 11月 12 16:11 /root/.ssh/id_dsa.pub

新生成的密钥对文件中,id_das是私钥文件,权限默认为600,对于私钥文件必须妥善保管,不能泄露给他人;id_dsa.pub是公钥文件,用来提供给ssh服务器。

2、将公钥文件上传至服务器

将上一步生成的公钥文件上传至服务器,并部署到服务器端用户的公钥数据库中。上传公钥文件时可以选择SCP、FTP、HTTP甚至发送E-mail等任何方式。

root@centos02 ~]# ssh-copy-id -i ./.ssh/id_dsa.pub root@192.168.100.10 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "./.ssh/id_dsa.pub"The authenticity of host '192.168.100.10 (192.168.100.10)' can't be established.ECDSA key fingerprint is SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.ECDSA key fingerprint is MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.Are you sure you want to continue connecting (yes/no)? yes  /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keysroot@192.168.100.10's password:   Number of key(s) added: 1Now try logging into the machine, with:  "ssh 'root@192.168.100.10'"and check to make sure that only the key(s) you wanted were added.

3、在客户端使用密钥对验证

当私钥文件(客户端)、公钥文件(服务器)均部署到位以后,就可以在客户端中进行测试了。首先确认客户端中当前的用户为root,然后通过ssh命令以服务器端用户root的身份进行远程登录。如果密钥对验证方式配置成功,则在客户端将会要求输入私钥短语,以便调用私钥文件进行匹配(若未设置私钥短语,则直接登入目标服务器)。

[root@centos02 ~]# ssh root@192.168.100.10   Last login: Tue Nov 12 16:03:56 2019 from 192.168.100.254[root@centos01 ~]# who  root   pts/0    2019-11-12 17:35 (192.168.100.20)root   pts/2    2019-11-12 16:03 (192.168.100.254)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

服务 登录 验证 服务器 文件 用户 密钥 客户 客户端 公钥 方式 安全 命令 密码 安全性 系统 目标 示例 管理 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网 新科技 互联网科技公司名称 人人互联网科技是培训 联恩商钥互联网科技有限公司 卫星互联网科技股票 常德市电业局互联网科技部 互联网和黑科技的看法 湖北码尼互联网科技有限公司电话 江阴互联网智能科技产品进口 未来五年的互联网科技 玉溪新华互联网科技好不好 世界互联网领先科技成果获奖 锡山区互联网智能科技产品供应 互联网科技快讯热点 互联网科技新闻 科技互联网经济论坛 优雇互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 山东亿川互联网科技有限责任公司 喔噻互联网科技有限公司 丰台科技园 互联网 上海电发互联网科技有限公司 互联网科技博主是什么意思 央行互联网金融科技公司 知域互联网科技有限公司大骗子 保险科技服务互联网营销体系 梅州GM互联网络科技有限公司 青岛互联网科技园 互联网科技创新方面的资料
0