当前位置: 首页 > news >正文

SSH远程访问及控制

目录

一、SSH远程管理

1、SSH定义

2、SSH客户端和服务端

3、SSH工作类型

3.1、对称加密

3.2、非对称加密

4、SSH工作原理

公钥传输原理

4.1、基本概念

4.2、工作过程

5、OpenSSH服务器

二、SSH远程登录方式

1、SSH直接远程登录

2、SSH指定端口登录

3、黑白名单

3.1、配置白名单

3.2、配置黑名单

 三、配置密钥对验证

1、创建密钥

2、将密钥发送到服务端

3、登录验证


一、SSH远程管理

1、SSH定义

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。

2、SSH客户端和服务端

  • SSH客户端: Putty、 Xshell、 CRT、MobaXterm、FinalShell
  • SSH服务端: OpenSSH

                                                               网络

                            SSH客户端<------------------------------>SSH服务端

                                    数据传输是加密的,可以防止信息泄漏

                                    数据传输是压缩的,可以提高传输速度

3、SSH工作类型

3.1、对称加密

①、概念:

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加 密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用

②、特点:

算法公开、计算量小、加密速度快、加密效率高。

③、缺点:

在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。 其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时, 都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方 的负担

④、常用算法:

在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK 等。

3.2、非对称加密

①、概念:

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

②、特点:

非对称加密使用一对密钥(公钥和私钥),其中公钥可以公开,而私钥必须保密。即使公钥被公开,只有拥有对应私钥的人才能解密数据,提供了强大的安全性。

③、缺点:

非对称加密算法(如RSA、DSA、ECC)的计算复杂度高,导致加密和解密速度慢,特别是在处理大量数据时。

④、常用算法:

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 可以使用更小的秘钥,更高的效率,提供更高的安全保障

特性对称加密 (Symmetric Encryption)非对称加密 (Asymmetric Encryption)
原理使用相同的密钥进行加密和解密使用一对密钥(公钥和私钥)进行加密和解密
优点1. 加密解密速度快,适合大数据量加密1. 密钥管理简单,公钥公开,私钥保密
2. 算法简单,计算复杂度低2. 提供更高的安全性,难以破解
3. 资源占用少,适合低资源环境3. 支持数字签名和认证,确保数据完整性和身份验证
缺点1. 密钥管理复杂,需安全传输和存储1. 加密解密速度慢,计算复杂度高
2. 密钥泄露会导致数据泄露2. 资源占用多,不适合大数据量加密
3. 无法实现数字签名和身份验证3. 密钥长度较长,存储和处理开销大

4、SSH工作原理

公钥传输原理

4.1、基本概念

①、公钥:

概念:公钥是非对称加密中公开的密钥,可以自由地分发给任何人。

功能:用于加密数据:发送方使用接收方的公钥对数据进行加密,只有拥有相应私钥的接收方才能解密数据。用于验证数字签名:接收方使用发送方的公钥来验证发送方的数字签名,确保数据的真实性和完整性。

②、私钥:

概念:私钥是非对称加密中必须保密的密钥,只能由密钥持有者自己保存,不得公开。

功能:用于解密数据:接收方使用自己的私钥解密由其公钥加密的数据。用于生成数字签名:发送方使用自己的私钥对数据进行签名,接收方可以使用发送方的公钥验证签名,确保数据没有被篡改。

4.2、工作过程

①、客户端发起链接请求

②、服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

③、客户端生成密钥对

④、客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

⑤、客户端发送加密值到服务端,服务端用私钥解密,得到Res

⑥、服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

⑦、最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都 会被加密

5、OpenSSH服务器

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。
Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

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

  • 客户端配置文件:/etc/ssh/ssh_config

二、SSH远程登录方式

1、SSH直接远程登录

ssh   远程主机用户名  @远程服务器主机名或IP地址

  • 当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP

ssh     IP地址

2、SSH指定端口登录

  • 查看端口

vim /etc/ssh/sshd_config                     #vim查看编辑ssh端口

 

  • 进入vim编辑页面,找到端口,修改(增强安全性)

  • 保存退出,用端口连接

ssh   远程主机用户名   @远程服务器主机名或IP 地址   -p   端口

  •  第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了

3、黑白名单

当希望只允许或禁止某些用户登录时,可以使用 AllowUsers 或 DenyUsers 配置,两者 用法类似(注意不要同时使用)


3.1、配置白名单

vim /etc/ssh/sshd_config                  #添加允许通过用户地址

  • 进入vim编辑,添加

  •  保存退出,并且刷新sshd

systemctl restart sshd                       #重启sshd

  • 登录

3.2、配置黑名单

vim /etc/ssh/sshd_config                  #添加允许通过用户地址

  •  进入vim编辑,添加

  •  保存退出,并且刷新sshd

 systemctl restart sshd                       #重启sshd

  • 测试登录

 三、配置密钥对验证

1、创建密钥

2、将密钥发送到服务端

  • 查看服务端是否收到

 

3、登录验证

  •  可开启密钥验证,关闭密码验证,如此只有密钥的客户端才可连接到远程服务端 

登录测试 

 

相关文章:

SSH远程访问及控制

目录 一、SSH远程管理 1、SSH定义 2、SSH客户端和服务端 3、SSH工作类型 3.1、对称加密 3.2、非对称加密 4、SSH工作原理 公钥传输原理 4.1、基本概念 4.2、工作过程 5、OpenSSH服务器 二、SSH远程登录方式 1、SSH直接远程登录 2、SSH指定端口登录 3、黑白名单 …...

Qt 绘图详解

文章目录 头文件和构造函数启用反锯齿功能绘制矩形绘制圆角矩形绘制椭圆绘制圆弧绘制弦绘制凸多边形绘制图片绘制直线绘制多条直线绘制多点连接的线绘制路径绘制扇形绘制点绘制文本擦除矩形区域填充矩形填充路径 头文件和构造函数 #include "mainwindow.h" #include…...

Python 爬虫与 Java 爬虫:相似之处、不同之处和选项

在信息时代&#xff0c;网络上可用的数据量巨大且不断增长。为了从这些数据中提取有用的信息&#xff0c;爬虫已成为一种重要的技术。Python 和 Java 都是流行的编程语言&#xff0c;都具有强大的爬虫功能。本文将深入探讨 Python 爬虫和 Java 爬虫之间的差异&#xff0c;以帮助…...

视频监控汇聚平台LntonCVS视频监控系统解决智慧产业园的安全应用方案

近年来&#xff0c;随着全国各地数字化转型和相关政策的出台&#xff0c;数字化和智慧化在各行业迅速发展&#xff0c;尤其是作为产业集群重要组成部分的产业园区。然而&#xff0c;园区智慧化进程加快的同时&#xff0c;数字化转型面临着诸如视频监控数据分散、联通不畅、碎片…...

MAVLink代码生成-C#

一. 准备Windows下安装环境 Python 3.3 – 官网链接下载Python future模块 –pip3 install future TkInter (GUI 工具). – python for Windows自带&#xff0c;无需下载环境变量PYTHONPATH必须包含mavlink存储库的目录路径。 –set PYTHONPATH你的mavlink源码路径 源码下载在…...

二四、3d人脸构建

一、下载github项目3dmm_cnn-master https://github.com/anhttran/3dmm_cnn.git 一个使用深度神经网络从单个图像进行 3D 人脸建模的项目,端到端代码,可直接根据图像强度进行 3D 形状和纹理估计;使用回归的 3D 面部模型,从检测到的面部特征点估计头部姿势和表情。…...

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【加解密(C/C++)】

加解密(C/C) 以AES 256密钥为例&#xff0c;完成加解密。具体的场景介绍及支持的算法规格。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 生成密钥 指定密钥别名。初始化密钥属性集。调用OH_Huks_GenerateKeyItem生成密钥)…...

Python的入门知识(上)

学习目标&#xff1a; 了解python 入门知识 这里写目录标题 学习目标&#xff1a;学习内容&#xff1a;快速入门 Python 基础特殊规则及特殊字符&#xff1a;Python 文件组织&#xff1a;多元赋值&#xff1a;变量命名规则&#xff1a;__name__ 系统变量&#xff1a;内存管理&a…...

2024春秋杯网络安全联赛夏季赛-PWN

文章目录 stdout测试setvbuf(stdout, 0LL, 2, 0LL)绕过或者输出直到缓冲区满使用system("/bin/sh")或者onegadget即使setvbuf(stdout, 0LL, 0, 0LL);也能立即有回显参考[https://starrysky1004.github.io/2024/07/05/2024-shu-qi-xue-xi-ji-lu/#toc-heading-4](https…...

怎么提高音频声音大小?提高音频声音大小的四种方法

怎么提高音频声音大小&#xff1f;在音频处理和编辑中&#xff0c;增加声音的音量是一个常见的需求&#xff0c;尤其是在确保音频清晰度和听觉效果的同时。调整音频的音量不仅仅是简单地提高音频的响度&#xff0c;它也涉及到如何保持音质的高标准&#xff0c;确保没有失真或削…...

从数据仓库到数据湖(下):热门的数据湖开源框架

文章目录 一、前言二、Delta Lake三、Apache Hudi四、Apache Iceberg五、Apache Paimon六、对比七、笔者观点八、总结九、参考资料 一、前言 在上一篇从数据仓库到数据湖(上)&#xff1a;数据湖导论文章中&#xff0c;我们简单讲述了数据湖的起源、使用原因及其本质。本篇文章…...

对话AI原生 | 千帆AppBuilder重构企业AI原生应用开发体验

人工智能和大模型正在引领当前最重要的科技创新趋势。在过去的一年中&#xff0c;行业关注点已从大模型研发转向实际应用&#xff0c;正成为推动创新和转型的关键力量。百度智能云千帆AppBuilder作为基于大模型的企业级AI原生应用开发工作台&#xff0c;支持应用的快速开发和发…...

CF253C Text Editor 题解

思路 既然要求最少步数&#xff0c;那我们可以用bfs 如果鼠标的位置比上一行的行末位置大&#xff0c;如果按上的话&#xff0c;移到上一行的行末。如果鼠标的位置比下一行的行末位置大&#xff0c;如果按下的话&#xff0c;移到下一行的行末。 注意当鼠标位置超过当前行最大…...

Spring Boot 创建定时任务

在现代应用程序开发中&#xff0c;定时任务是一个常见的需求。Spring Boot作为一个强大的框架&#xff0c;提供了简单易用的定时任务调度功能。本文将详细介绍如何在Spring Boot中创建和管理定时任务&#xff0c;并提供完整的代码示例。 1. 什么是定时任务 定时任务是指在预定…...

Vue使用Echarts(入门级)

最终效果&#xff1a; npm install echarts --save // 先安装echarts<template><!-- 创建一个dom区域用于挂载echarts图表 --><div id"chart" style"width: 600px;height:500px;"/> </template> <script> import * as ech…...

2025届秋招提前批信息汇总(计算机类)

私企篇 深信服 链接&#xff1a;https://app.mokahr.com/campus_apply/sangfor/27944#/home内推码&#xff1a;NTAHRFS截止时间&#xff1a;6月21日 TP-LINK 链接&#xff1a;https://hr.tp-link.com.cn/jobList?jobId107&jobDirection0&workPlace0&currentPa…...

Scala Collection(集合)

Scala Collection(集合) Scala集合库是Scala语言的核心特性之一,它提供了一套丰富的数据结构来存储、管理和操作数据。Scala集合分为可变(mutable)和不可变(immutable)两种类型,每种类型都有其特定的用途和优势。本文将详细介绍Scala集合库的基本概念、常用集合类型以及…...

Go 语言 UUID 库 google/uuid 源码解析:UUID version4 的实现

google/uuid 库地址 本文将解析 googl/uuid 库中 UUID 变体10版本4的实现。 版本 4 的 UUID 采取完全随机的方式实现&#xff0c;简单来说就是将 UUID 中的 122 位全部随机填充&#xff08;剩余的 6 位作标记位&#xff09;。版本 4 的 UUID 存在一定的重复风险&#xff0c;但…...

开发个人Go-ChatGPT--6 OpenUI

开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线运行。它支持各种 LLM 运行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由&#xff0c;OpenAI 的接口需要密钥才…...

Spring中的工厂模式详解及应用示例

1. Spring中的BeanFactory BeanFactory是一个接口&#xff0c;表示它是一个工厂&#xff0c;负责生产和管理bean。在Spring中&#xff0c;BeanFactory是IOC容器的核心接口&#xff0c;定义了管理Bean的通用方法&#xff0c;如 getBean 和 containsBean。 BeanFactory与IOC容器…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...