远程访问及控制(ssh)

目录

一、OpenSSH服务器

1.1 SSH(Secure Shell)协议

1.2 OpenSSH

2.1 SSH原理

2.1 1 公钥传输原理

2.1.2 加密原理

2.1.3 SSHD服务的两种验证方式

二、SSH命令中的基本操作

2.1 构建密钥对验证的SSH

2.1.1 公钥和密钥的关系

2.1.2 构建密钥对验证的SSH原理

2.1.3 操作

2.2 scp复制

2.3 安全性传输sftp

2.4 tcp wrappers访问控制

扩展


远程管理协议

Telnet  :明文传输协议

SSH    :密文传输,具有加密、压缩功能

SSH相较于Telnet的优点:

  • 数据传输是加密的,可以防止信息泄露
  • 数据传输是压缩的,可以提高传输速度

一、OpenSSH服务器

1.1 SSH(Secure Shell)协议

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理
  • 对数据进行压缩

1.2 OpenSSH

  • 服务名称:sshd
  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:/etc/ssh/sshd_config
  • 客户端配置文件:/etc/ssh/ssh_config

2.1 SSH原理

2.1 1 公钥传输原理

  • 客户端发起链接请求
  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
  • 客户端生成密钥对
  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res
  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

首次连接时的公钥交换

  • ①客户端发起连接请求,服务端会生成一个会话id,以及将会话id和自己的公钥交给客户端
  • ②客户端拿到公钥和会话id以后,会用自己的公钥和对面给的会话id做运算得到一个结果,然后用服务器的公钥加密,传给服务端
  • ③服务端收到这个结果,用自己的私钥去解密结果;结果=会话id+客户端的公钥;结果-会话id=客户端的公钥。最终服务端会得到客户端的公钥 

2.1.2 加密原理

(1)对称加密

  • 1、概念:采用单钥密码系统的加密方法同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用
  • 2、常用算法:在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
  • 3、特点:①加密方和解密方使用同一个密钥;②加密解密的速度比较快,适合数据比较长时的使用;③密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;
  • 4、优缺点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担

(2)非对称加密

概念:

①非对称加密算法需要两个密钥

公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

②常用算法:

  • RSA(RSA algorithm):目前使用最广泛的算法
  • DSA(Digital Signature Algorithm):数字签名算法,和 RSA 不同的是 DSA仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快
  • ECC(Elliptic curve cryptography,椭圆曲线加密算法)
  • ECDSA:Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法,是ECC和 DSA的结合,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障

③原理:

首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下

④优缺点:

相比于对称加密技术,非对称加密技术安全性更好,但性能更慢

2.1.3 SSHD服务的两种验证方式

密码验证:

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

18位密码复杂性(大写、小写、字符、数字) 端口(1023以上叫做高位端口1922) 做好安全

密钥对验证:

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

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

二、SSH命令中的基本操作

2.1 构建密钥对验证的SSH

2.1.1 公钥和密钥的关系

  • 在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
  • 公钥用来给数据加密,用公钥加密的数据只能使用私钥解

2.1.2 构建密钥对验证的SSH原理

  • 首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥
  • 如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。
  • SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行比较。如果两个密钥一致,SSH服务器就用公钥加密"质询"(challenge)并把它发送给SSH客户端。
     

2.1.3 操作

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证

改一下

2.2 scp复制

scp:scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的。

2.3 安全性传输sftp

  • sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法
  • sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作
  • 所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP 

查看可用命令
help  #查看sftp可使用的命令和用途

打印服务器当前位置
pwd     #打印当前服务器所在位置
lpwd    #打印当前本地位置

切换目录、查看文件
cd     #切换服务器上的目录
ls     #查看当前目录下文件列表

下载文件、退出sftp
get         #下载文件
get -r      #下载目录
quit        #退出sftp
put         #上传文件
退出命令:quit、exit、bye都可以

 

2.4 tcp wrappers访问控制

TCP Wrappers访问控制
TCP Wrappers ( TCP封套)

  • 在 Linux 系统中,许多网络服务针对客户端提供了访问控制机制,如 Samba、BIND、 HTTPD、OpenSSH 等
  • TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了 一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序

    
TCP Wrappers保护机制的两种实现方式

  • 1.直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
  • 2.由其他网络服务程序调用libwrap.so.* 链接库,不需要运行tcpd 程序。此方式的应用更加广泛,也更有效率。使用ldd命令可以查看程序的libwrap.so. *链接库ldd $ (which ssh)

语法格式:<服务程序列表>: <客户端地址列表>
(1)服务程序列表 服务程序列表可分为以下几类
ALL:代表所有的服务。单个服务程序:如“vsftpd”。多个服务程序组成的列表:如“vsftpd,sshd”。 

*
(1)服务程序列表
ALL:代表所有的服务。
单个服务程序:如“vsftpd".
多个服务程序组成的列表:如“vsftpd, sshd"。.
(2)客户端地址列表
ALL:代表任何客户端地址。
LOCAL:代表本机地址。
多个地址以逗号分隔
允许使用通配符“*”和"?”,前者代表任意长度字符,后者仅代表一个字符
网段地址,如"192.168.80.” 或者192.168.80.0/255.255.255.0
区域地址,如“. benet.com"匹配benet.com域中的所有主机。
   

访问控制的基本原则

  • 首先检查 /etc/hosts.allow 文件,如果找到相匹配的策略,则允许访问;
  • 否则继续检查/etc/hosts.deny 文件,如果找到相匹配的策略,则拒绝访问;
  • 如果检查上述两个文件都找不到相匹配的策略, 则允许访问
  • “允许所有,拒绝个别”
  • 只需在/etc/hosts.deny文件中添加相应的拒绝策略
  • “允许个别,拒绝所有"
  • 除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts
  • deny文件中设置"ALL:ALL"的拒绝策略。

 这里用IP地址为192.17.20.68的客户机来测试连接

发现192.17.20.68可以成功连接而没有被允许的客户机则不能连接

扩展

Linux用户方面的安全加固:
设定密码策略
对用户密码强度的设定
对用户的登录次数进行限制
禁止ROOT用户远程登录
设置历史命令保存条数和账户超时时间
设置只有指定用户组才能使用su命令切
换到root用户
对Linux账户进行管理
对重要的文件进行锁定,即使ROOT用户也无法删除
建立日志服务器

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

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

相关文章

找不到d3dx9_43.dll怎么办,总结5种解决d3dx9_43.dll丢失的方法

很多人经常使用电脑的时候可能遇到过电脑缺失d3dx9_43.dll的情况。这种情况通常是由于不当操作导致病毒感染或软件误删等原因引起的。今天&#xff0c;我将为大家详细讲解电脑缺失d3dx9_43.dll的原因以及几种解决方法。 一、了解d3dx9_43.dll是什么及作用 d3dx9_43.dll 是一个…

腾讯开源 tlbs-map 地图组件库

腾讯宣布开源 tlbs-map&#xff0c;一个基于腾讯位置服务地图 API 开发的 web 端地图组件库&#xff0c;支持在网页绘制地图并在地图上绘制点、线、面、热力图等效果&#xff0c;支持 Vue2、Vue3、React 等业界主流技术栈&#xff0c;旨在帮助开发者低成本开发地图业务 Javascr…

【Blockly图形化积木编程二次开发学习笔记】1.工具箱的实现

文章目录 Blockly 版本选择上手 Blockly 版本选择 在【兰州大学】Blockly创意趣味编程【全36讲】主讲教师&#xff1a;崔向平 周庆国中提到&#xff0c;在18年6月份之前的版本中&#xff0c;可以通过安装依赖库的方式&#xff0c;打开开发者工具的离线版本&#xff0c;但是新版…

框架设计MVVM

重点&#xff1a; 1.viewmodel 包含model 2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑 // Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector>using namespace std;#p…

iSCSI 网络存储服务部署

一、介绍 iSCSI &#xff08;Internet Small Computer System Interface&#xff09;&#xff0c;互联网小型计算机系统接口&#xff1b;iSCSI 是SCSI接口 与以太网技术相结合的新型存储技术&#xff0c;属于ip san的一种&#xff0c;可以用来在网络中传输 SCSI 接口的命令和数…

逆向案例二十一——sm2加密,某信登录密码加密

网址&#xff1a;电信账号登录 这个登陆页面&#xff0c;会需要过滑块验证码&#xff0c;先不管他&#xff0c;直接找到登陆包&#xff0c;在登陆包之前&#xff0c;有一个这个包返回一串不知道啥作用的先记着。 找到登陆包&#xff0c;密码进行了加密 用xhr断点调试&#xff…

Jmeter常用组件及执行顺序

一 常用组件 1.线程组 Thread Group 线程组是一系列线程的集合&#xff0c;每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中&#xff0c;每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中&#xff0c;线程组组件运行用户设置线程数量、初始化方式等…

JuiceFS、Ceph 和 MinIO 结合使用

1. 流程图 将 JuiceFS、Ceph 和 MinIO 结合使用&#xff0c;可以充分利用 Ceph 的分布式存储能力、JuiceFS 的高性能文件系统特性&#xff0c;以及 MinIO 提供的对象存储接口。以下是一个方案&#xff0c;介绍如何配置和部署 JuiceFS 使用 Ceph 作为其底层存储&#xff0c;并通…

Linux进程——进程优先级与僵尸进程孤儿进程

文章目录 僵尸进程变成僵尸状态的过程 孤儿进程进程优先级如何修改进程优先级为什么优先级有范围 僵尸进程 僵尸状态进程本质上就是死亡状态 在进程死亡之后&#xff0c;不会直接对进程进行释放&#xff0c;而是先会处理一些后事 进程在结束退出的时候&#xff0c;也会有一些…

GA-Kmeans-Transformer-GRU时序聚类+状态识别组合模型,创新发文无忧!

GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01; 目录 GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GA-Kmeans-Transformer-GRU时…

【Linux网络】poll{初识poll / poll接口 / poll vs select / poll开发多客户端echo服务器}

文章目录 1.初识pollpoll与select的主要联系与区别poll的原理poll的优点poll的缺点poll vs select 2.poll开发多客户端echo服务器封装套接字接口Makefile主函数日志服务聊天服务器 1.初识poll poll是Linux系统中的一个系统调用&#xff0c;它用于监控多个文件描述符&#xff08…

燃气管道老化,怎样能实时监测管网情况?

在能源管理与环境保护的交汇点上&#xff0c;一场前所未有的技术革命正在悄然兴起。随着全球对清洁能源需求的日益增长和对环境可持续性的高度重视&#xff0c;燃气作为清洁、高效、可靠的能源载体&#xff0c;其重要性不言而喻。然而&#xff0c;如何确保燃气的安全输送与使用…

新手教学系列——简单的服务配置项集中管理

前言 在开发和运维过程中,配置管理是一个非常重要但经常被忽视的环节。常用的配置文件格式包括env、ini和yaml等,它们非常适合模块级别的系统配置,尤其是一些敏感信息的配置,例如数据库连接字符串和密码等。但是,对于系统业务级别的配置,通常要求不需要重启服务即可更新…

易语言_判断循环首_循环判断首_计次循环首_变量循环首_区分-cnblog

判断循环首 如果判断条件为真&#xff0c;就进入循环条件 循环判断首 先执行一次&#xff0c;再判断循环条件 计次循环首 10为总循环次数&#xff0c;如果加i&#xff0c;i会记录当前是循环的第几次 变量循环首 变量循环首可以自定义每次循环增加的值

【Linux】文件管理常用命令【超详细】

文章目录 预防rm事故-血的教训&#x1f622;1. 使用别名&#xff1a;2. 启用回收站&#xff1a;3. 只读文件系统&#xff1a; 一、文件管理1.1 touch-文件创建1.2 rm-文件删除1.3 mkdir-目录创建1.4 rmdir-目录删除1.5 pwd-显示当前目录1.6 cd-切换当前目录1.7 ls-列出文件和目…

【深度学习入门篇 ⑦】PyTorch池化层

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

Home Assistant在windows环境安装

Home Assistant是什么&#xff1f; Home Assistant 是一个开源的智能家居平台&#xff0c;旨在通过集成各种智能设备和服务&#xff0c;提供一个统一的、可自定义的家庭自动化解决方案。它可以允许用户监控、控制和自动化家中的各种设备&#xff0c;包括灯光、温度、安全系统、…

02-Redis未授权访问漏洞

免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担&…

IDEA快速生成项目树形结构图

下图用的IDEA工具&#xff0c;但我觉得WebStorm 应该也可以 文章目录 进入项目根目录下&#xff0c;进入cmd输入如下指令&#xff1a; 只有文件夹 tree . > list.txt 包括文件夹和文件 tree /f . > list.txt 还可以为相关包路径加上注释

ROS-机械臂——从零构建机器人模型

URDF建模 URDF URDF&#xff0c;全称为 Unified Robot Description Format&#xff08;统一机器人描述格式&#xff09;&#xff0c;是一种用于描述机器人几何结构和运动学属性的标准文件格式。URDF 文件通常用于机器人模拟、路径规划、控制算法开发和可视化等领域&#xff0c…