当前位置: 首页 > 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容器…...

RRT*在ROS中的实战:用Gazebo仿真实现动态避障(Python+ROS Noetic)

RRT*在ROS中的实战&#xff1a;用Gazebo仿真实现动态避障&#xff08;PythonROS Noetic&#xff09; 路径规划是机器人自主导航的核心技术之一。在复杂动态环境中&#xff0c;如何快速找到一条安全且优化的路径一直是研究热点。RRT*&#xff08;Rapidly-exploring Random Trees…...

Genus水平共现网络分析:高效替代OTU的实战指南

1. 为什么需要Genus水平共现网络分析&#xff1f; 做微生物群落研究的朋友们应该都深有体会&#xff0c;OTU/ASV水平的共现网络分析简直就是个时间黑洞。我去年处理一个土壤微生物项目时&#xff0c;2000多个OTU的共现网络跑了整整8个小时&#xff0c;等结果的时候都能看完两集…...

Synchronized 与 ReentrantLock 深度对比

前言 在Java并发编程中&#xff0c;锁机制是保证线程安全的核心手段。synchronized 和 ReentrantLock 是两种最常用的锁实现&#xff0c;面试中经常被要求对比它们的区别。 本文将深入分析两者的底层原理、功能特性、性能差异以及各自的适用场景。 一、快速概览 维度synchro…...

别再只盯着IoU了!用Python手把手教你计算语义分割的95% Hausdorff距离(附完整代码)

超越IoU&#xff1a;用Python实战95% Hausdorff距离的医学影像分割评估 当我们在医院看到CT扫描图像上肿瘤边缘被红色轮廓线精准勾勒时&#xff0c;很少有人会思考这背后的算法是如何评估自己分割结果的准确性的。传统指标如IoU&#xff08;交并比&#xff09;和Dice系数固然流…...

VR视频转换终极指南:让3D内容在普通设备上轻松播放

VR视频转换终极指南&#xff1a;让3D内容在普通设备上轻松播放 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirro…...

so-vits-svc声压级标准化技术解析:从原理到实践的7个关键维度

so-vits-svc声压级标准化技术解析&#xff1a;从原理到实践的7个关键维度 【免费下载链接】so-vits-svc SoftVC VITS Singing Voice Conversion 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc 声压级标准化是so-vits-svc&#xff08;SoftVC VITS Singing Vo…...

终极MangoHud配置文件备份工具:轻松打造图形化管理界面

终极MangoHud配置文件备份工具&#xff1a;轻松打造图形化管理界面 【免费下载链接】MangoHud A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb 项目地址: https://gitcode.com/gh_m…...

TranslucentTB深度解析:如何用5MB内存实现Windows任务栏的视觉革命

TranslucentTB深度解析&#xff1a;如何用5MB内存实现Windows任务栏的视觉革命 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在Windows…...

本地部署 Ollama + DeepSeek 完整指南:免费跑大模型,数据不出本地

本地部署 Ollama DeepSeek 完整指南&#xff1a;免费跑大模型&#xff0c;数据不出本地不花一分钱&#xff0c;不用科学上网&#xff0c;在自己电脑上跑 DeepSeek 大模型&#xff0c;这篇教程手把手带你搞定一、为什么要本地部署&#xff1f; 很多人用 AI 工具都是调用云端 AP…...

突破数字阅读壁垒:bypass-paywalls-chrome-clean工具深度实战指南

突破数字阅读壁垒&#xff1a;bypass-paywalls-chrome-clean工具深度实战指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息获取成本日益增高的今天&#xff0c;优质内容常常…...