Linux-远程访问及控制

一、SSH远程管理

    SSH(Secure Shell)是一种安全通道协议主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent(远程登录)、RSH(Remote Shell,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。本节将以 OpenSSH 为例,介绍 Linux 服务器的远程管理及安全控制。OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。关于 OpenSSH 项目的更多内容可以访问其官方网站OpenSSH。

  1、配置OpenSSH服务端

   在 CentOS 7.3 系统中,OpenSSH 服务器由 openssh、openssh-server 等软件包提供(默认已安装),并已将 sshd 添加为标准的系统服务。执行“systemctl start sshd”命令即可启动 sshd 服务,包括 root 在内的大部分用户(只要拥有合法的登录 Shell)都可以远程登录系统。

   sshd 服务的默认配置文件是/etc/ssh/sshd_config,正确调整相关配置项,可以进一步提高 sshd 远程登录的安全性。下面介绍最常用的一些配置项,关于 sshd_config 文件的更多配置可参考 man 手册页。

1.1、服务监听选项

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

 

 

 1.2、用户登录控制

    sshd 服务默认允许 root 用户登录,但在 Internet 中使用时是非常不安全的。普遍的做法如下:先以普通用户远程登入,进入安全 Shell 环境后,根据实际需要使用 su 命令切换为 root 用户。关于 sshd 服务的用户登录控制,通常应禁止 root 用户或密码为空的用户登录。另外,可以限制登录验证的时间(默认为 2 分钟)及最大重试次数,若超过限制后仍未能登录则断开连接。

      当希望只允许或禁止某些用户登录时,可以使用 AllowUsers 或 DenyUsers 配置,两者用法类似(注意不要同时使用)。例如,若只允许 jerry、tsengyia 和 admin 用户登录,且其中 admin 用 户 仅 能 够 从 IP 地 址 为 61.23.24.25 的 主 机 远 程 登 录 , 则 可 以 在/etc/ssh/sshd_config 配置文件中添加以下配置。

  1.3、登录验证方法

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

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

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

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

二、具体的操作,这里我们开启2个Linux主机,192.168.10.101主机用作服务器、192.168.10.102主机用作客户端使用。

1、SSH(Secure Shell)协议

    从这里我们可以看到服务器的端口默认是22端口,在实际工作中,为了提高其安全性,我们可以将服务器的默认22号端口修改成其它的端口。但注意修改的端口号不要与其他服务的端口号有冲突。

 

   对于Linux而言,想要改一些参数都是通过文件来修改的;ssh对应的配置文件是:etc/ssh/sshd_config

    重启sshd服务时若不关闭内核机制,重启时会报错,因为ssh是安全机制,受内核安全机制的保护。

   以上操作哪怕指定服务器的端口也连不上,因为服务器默认让我们连的端口是22号端口,防火墙不会拦截其流量;当重新指定修改过后的端口防火墙也会将该流量拦截,此时我们需要关闭服务器的防火墙(101主机终端)。注:默认防火墙不会拦截的是sshd和dhcpclientv6。

        注:改端口号,要关闭内核安全机制,如果是其它服务,该端口号随便改

2、 ssh的目录

3、ssh的主配置文件

         若非要让尝试登录的次数超过三次,可以使用以下命令:

               若允许多个用户连接可以在用户之间用空格隔开;若允许所有用户连接,只需将“allowusers zhangsan ”这行注释掉即可。

 当我们远程建立连接时,需要我们建立一个普通用户,以普通用户的身份建立连接,再切换到root用户,是为了防止有黑客在外面建立连接时截取我们的数据流量,从而破译出root用户密码,若是以普通用户身份建立连接时流量被截取,但普通用户没有root用户的相关权限,提高安全性。

     4、密钥对验证

   

5、减少登录的过程的时间

6、跨主机下载、上传文件:scp命令

7、跨主机下载、上传文件:sftp命令

     下载

     上传

8、查看修改端口号对远程数据拷贝是否有影响:

拷贝:p是小写的

上传:p是大写的

-o选项 与-P选项是等效的

9、上传和下载

         注:安装lrzsz可以直接把文件拉到xshell界面,进行上传

9、如何使用公钥认证的方式,让远程的客户端登录服务器

     ssh远程登录一个主机,是经常要做的,尤其是linux的维护,经常是用xshell或者是远程的终端工具去登录,登录的方法就是ssh加上对端主机,顶多加个用户。

身份的认证:1、密码认证

                     2、公钥认证

         实际上,在进行ssh身份认证的时候,优先使用公钥认证,显然登录的时候没有让用公钥认证,用的还是密码

①id_rsa.pub把这个文件拷贝到101的主机

 登录验证

 

 

 

 三、、TCP Wrappers 访问控制

   

在 Linux 系统中,许多网络服务针对客户端提供了访问控制机制,如 Samba、BIND、HTTPD、OpenSSH 等。本节将介绍另一种防护机制——TCP Wrappers(TCP 封套),以作为应用服务与网络之间的一道特殊防线,提供额外的安全保障。

1、TCP Wrappers 概述

TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序,如图 4.3 所示。TCP Wrappers 还可以记录所有企图访问被保护服务的行为,为管理员提供丰富的安全分析资料。

      对于大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。 7.3 中使用的软件包是 tcp_wrappers-7.6-77.el7.x86_64.rpm,该软件包提供了执行程序 tcpd 和共享链接库文件 libwrap.so.*,对应 TCP Wrapper 保护机制的两种实现方式——直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd;由其他网络服务程序调用 libwrap.so.*链接库,不需要运行 tcpd 程序。

          通常,链接库方式的应用要更加广泛,也更有效率。例如,vsftpd、sshd 及超级服务器xinetd 等,都调用了 libwrap 共享库(使用 ldd 命令可以查看程序的共享库)。

注意:xinetd 是一个特殊的服务管理程序,通常被称为超级服务器。xinetd 通过在/etc/xinetd.d 目录下为每个被保护的程序建立一个配置文件,调用 TCP Wrappers 机制来提供额外的访问控制保护

2、TCP Wrappers 的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

2.1、策略的配置格式

两个策略文件的作用相反,但配置记录的格式相同,如下所示。

服务程序列表、客户端地址列表之间以冒号分隔,在每个列表内的多个项之间以逗号分隔。

(1)服务程序列表

服务程序列表可分为以下几类。

ALL:代表所有的服务。

单个服务程序:如“vsftpd”。

多个服务程序组成的列表:如“vsftpd,sshd”。

(2)客户端地址列表

客户端地址列表可分为以下几类。

ALL:代表任何客户端地址。

LOCAL:代表本机地址。

单个 IP 地址:如“192.168.4.4”。

网络段地址:如“192.168.4.0/255.255.255.0”。

以“.”开始的域名:如“.bdqn.com”匹配 bdqn.com 域中的所有主机。

以“.”结束的网络地址:如“192.168.4.”匹配整个 192.168.4.0/24 网段。

嵌入通配符“*”“?”:前者代表任意长度字符,后者仅代表一个字符,如“10.0.8.2*” 匹配以 10.0.8.2 开头的所有 IP 地址。不可与以“.”开始或结束的模式混用。

多个客户端地址组成的列表:如“192.168.1.,172.16.16.,.bdqn.com”。

2.2、访问控制的基本原则

关于 TCP Wrappers 机制的访问策略,应用时遵循以下顺序和原则:首先检查/etc/hosts.allow 文件,如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略,则允许访问。

2.3、TCP Wrappers 配置实例

实际使用 TCP Wrappers 机制时,较宽松的策略可以是“允许所有,拒绝个别”,较严格的策略是“允许个别,拒绝所有”。前者只需在 hosts.deny 文件中添加相应的拒绝策略就可以了;后者则除了在 hosts.allow 中添加允许策略之外,还需要在 hosts.deny 文件中设置“ALL:ALL”的拒绝策略。

例如,若只希望从 IP 地址为 61.63.65.67 的主机或者位于 192.168.2.0/24 网段的主机访问 sshd 服务,其他地址被拒绝,可以执行以下操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spine学习11】之 战士攻击动作 思路总结(手动调整贝塞尔曲线实现前快后慢)

拿到一份psd文件先观察检查一下图片顺序有没有问题, 重点看一下人物的腿部分层,(如果是大小腿分开画的就网格可打可不打,如果是连在一起画的,那必须打网格) 拿着剑的时候剑和手的层级有没有错位&#xff0c…

HCS-华为云Stack-容器网络

HCS-华为云Stack-容器网络 容器隧道overlay VPC网络

第〇篇:深入Docker的世界系列博客介绍

深入Docker的世界系列博客介绍 欢迎来到“深入Docker的世界”系列博客,这是一次旨在全面探索Docker容器化技术的冒险之旅。从基础原理到高级应用,再到实践案例分析,我们将深入挖掘Docker的每一个角落,帮助你不仅掌握这项技术的实…

FreeRtos-09事件组的使用

1. 事件组的理论讲解 事件组:就是通过一个整数的bit位来代表一个事件,几个事件的or和and的结果是输出 #define configUSE_16_BIT_TICKS 0 //configUSE_16_BIT_TICKS用1表示16位,用0表示32位 1.1 事件组适用于哪些场景 某个事件若干个事件中的某个事件若干个事件中的所有事…

第10章 文件和异常

第10章 文件和异常 10.1 从文件中读取数据10.1.1 读取整个文件10.1.2 文件路径10.1.3 逐行读取10.1.4 创建一个包含文件各行内容的列表10.1.5 使用文件的内容10.1.6 包含一百万位的大型文件10.1.7 圆周率值中包含你的生日吗 10.2 写入文件10.2.1 写入文件10.2.2 写入多行10.2.3…

MyBatisPlus基础学习

一、简介 二、集成MP 三、入门HelloWorld 四、条件构造器EntityWrapper 五、ActiveRecord(活动记录 ) 六、代码生成器 七、插件扩展 八、自定义全局操作 九、公共字段自动填充 十、Oracle主键Sequence 十一、Idea快速开发插件 十二、mybatis-plus实践及架构原理

C#聊天室客户端完整③

窗体 进入聊天室界面(panel里面,label,textbox,button): 聊天界面(flowLayoutPanel(聊天面板)): 文档大纲(panel设置顶层(登录界面),聊天界面在底层) 步骤:设置进入聊天室→输入聊天→右边自己发送的消息→左边别人发的消息 MyClient.cs(进入聊天室类) …

如何利用TikTok矩阵源码实现自动定时发布和高效多账号管理

在如今社交媒体的盛行下,TikTok已成为全球范围内最受欢迎的短视频平台之一。对于那些希望提高效率的内容创作者而言,手动发布和管理多个TikTok账号可能会是一项繁琐且耗时的任务。幸运的是,通过利用TikTok矩阵源码,我们可以实现自…

Linux C语言:字符串处理函数

一、字符串函数 1、C库中实现了很多字符串处理函数 #include <string.h> ① 求字符串长度的函数strlen② 字符串拷贝函数strcpy③ 字符串连接函数strcat④ 字符串比较函数strcmp 2、字符串长度函数strlen 格式&#xff1a;strlen(字符数组)功能&#xff1a;计算字符串…

【Python】已解决报错:AttributeError: module ‘json‘ has no attribute ‘loads‘解决办法

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 &#x1f913; 同时欢迎大家关注其他专栏&#xff0c;我将分享Web前后端开发、人工智能、机器学习、深…

1)Java项目笔记搭建系统梳理相关知识

目录 前言项目结构Java部分Spring整合部分SpringBoot整合部分 模块说明规划 小结javarabbitmqmybatisspring最后推荐几本工具书 前言 工作有年头了&#xff0c;学到了很多技术&#xff0c;收获了很多。但是对与工作相关的专业技能知识的掌握杂而乱&#xff0c;不够全面系统。因…

Web应用安全测试-综合利用(一)

Web应用安全测试-综合利用&#xff08;一&#xff09; 文章目录 Web应用安全测试-综合利用&#xff08;一&#xff09;1.跨站脚本攻击&#xff08;XSS&#xff09;漏洞描述测试方法GET方式跨站脚本Post方式跨站脚本 风险分析风险等级修复方案总体修复方式对于java进行的web业务…

21.FuturePromise

在异步处理时,经常用到两个接口Future 和 Promise。 说明:Netty中的Future与jdk中的Future同名,但是是两个接口,netty的Future继承了jdk的Future,而Promise又对Netty的Future进行了扩展。 JDK的Future只能同步等待任务结束(成功、失败)才能得到结果。FutureTask.get()方…

ROS中使用超声波传感器(附代码)

在ROS中使用超声波传感器通常涉及到订阅或发布sensor_msgs/Range类型的消息。下面是一个简单的示例&#xff0c;展示了如何使用C在ROS中编写一个超声波传感器的驱动程序。这个例子假设你有一个超声波传感器连接到了Arduino或者其他微控制器&#xff0c;并且该微控制器已经通过串…

SpringBoot三层架构

目录 一、传统方式 二、三层架构 三、代码拆分 1、dao层 2、service层 3、control层 四、运行结果 一、传统方式 上述代码存在一定的弊端&#xff0c;在进行软件设计和软件开发中提倡单一责任原则&#xff0c;使代码的可读性更强&#xff0c;复杂性更低&#xff0c;可扩展性…

QT day03

思维导图 QT设计 升级优化自己应用程序的登录界面。 要求&#xff1a; 1. qss实现 2. 需要有图层的叠加 &#xff08;QFrame&#xff09; 3. 设置纯净窗口后&#xff0c;有关闭等窗口功能。 4. 如果账号密码正确&#xff0c;则实现登录界面关闭&#xff0c;另一个应用界面…

HarmonyOS(37) APP crash崩溃日志收集插件@hw-agconnect使用指南

hw-agconnect使用指南 添加配置文件配置SDK依赖初始化SDK参考资料 添加配置文件 获取agconnect-services.json文件。将“agconnect-services.json”文件拷贝到DevEco Studio项目的“AppScope/resources/rawfile”目录下。 配置SDK依赖 在“oh-package.json5”文件的“depende…

【数据初步变现】论自助BI在数字化转型中如何赋能业务

引言&#xff1a;数字化转型要求企业更加依赖数据来指导业务决策。自助BI作为数据分析的重要工具&#xff0c;能够迅速、准确地从海量数据中提取有价值的信息&#xff0c;为企业的战略规划和业务执行提供有力支持。在数字化时代&#xff0c;企业需要快速响应市场变化并优化业务…

标准立项 | 膜曝气生物膜反应器(MABR)平板曝气膜

立项单位&#xff1a;天津市华宇膜技术有限公司、中国市政工程中南设计研究总院有限公司、中建生态环境集团有限公司、富朗世水务技术(江苏)有限公司、常州宣清环境科技有限公司 膜组件开发 膜腔内部支撑结构-一在膜腔内部设置支撑结构以防止膜腔在水压下压实&#xff0c;同时…

五、路由协议

目录 一、为何划分子网&#xff1f; 二、静态路由 三、OSPF 3.1、OSPF原理 3.1.1、ospf四步过程 3.2、OSPF区域划分 3.2.1、为什么划区域&#xff1f; 3.2.2、划分规则 3.3、OSPF参数 3.4、五种报文 3.4.1、hello报文 3.4.2、DD报文 3.4.2、LSR、LSU、LSAck报文 3…