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

ssh远程管理

一、Openssh概述

Openssh是一种安全通道协议,用来实现字符界面的远程登录、远程复制、远程文本传输。

Openssh对通信双方的数据进行了加密。有两种方式:

  • 用户名和密码登录:比较常用
  • 密钥对认证方式:可以实现免密登录

ssh端口:22,工作在网络层、传输层

ssh特点:

  • 数据在传输过程中是加密的
  • 数据在传输过程中是压缩的

ssh分为服务端和客户端

服务端:Openssh

客户端:xshell,moba等远程连接工具

Linux中的应用名称:sshd

两个配置文件

ssh_config:针对客户端的配置文件

sshd_config:服务端的配置文件

ssh监听地址:可以理解为ssh对外提供服务的地址。

二、Openssh的功能

2.1 远程连接

ssh命令

远程连接:从客户机远程连接到目标主机,对目标主机进行操作。

ssh 目标主机用户名@目标主机IP地址	#格式

-pssh默认端口22,当服务端口被更改时,使用-p指定ssh访问的端口(注意大小写

ssh -p 10022 root@20.0.0.30

使用ssh服务从10022端口远程连接20.0.0.30主机root用户

2.2 远程复制

scp命令

远程复制:把目标主机的文件复制到主机。

远程复制文件:

scp root@20.0.0.30:/opt/test.txt /opt/new.txt

解释:把20.0.0.30主机的root用户的/opt/test.txt复制到本机的/opt目录下,命名为new.txt

远程复制目录:

scp -r root@20.0.0.30:/opt/test1/ /opt

-r :复制目录

解释:把20.0.0.30主机的root用户的目录/opt/test/复制到本机的/opt目录下

指定端口号复制:如果sshd服务端口号被修改了,比如从22改成10022

scp -rP 10022 root@20.0.0.30:/opt/test1 /opt/test2

-P :指定服务的端口号,10022:端口号(注意是大写P

-rP:连用必须r在前,P在后,否则报错

注意:使用非默认端口号需要关闭防火墙和安全机制,否则系统会禁止使用

解释:把20.0.0.30主机的root用户的目录/opt/test/复制到本机的/opt目录下,重命名为test2

2.3 远程文件传输

sftp:远程文件传输协议

sftp是加密的文件传输协议,传输效率低于ftp,安全性更高。语法与ftp一模一样。

下载:get;上传:put

sftp对目录操作-r,指定端口号-P注意是大写-P

三、密钥对认证(免密登录)

3.1 密钥和密钥对

密钥:密钥是一种参数,把明文转换成密文。转换成的密文是一种算法生成的参数。

密钥的形式分为两种:对称密钥和非对称密钥。ssh密钥属于非对称密钥。

ssh密钥的加密方式:常用的三种,可以指定

  • RSA
  • ECDSA
  • DSA

密钥对由两个相关联的密钥组成:公钥私钥

  1. 加密和解密:公钥用于加密数据,私钥用于解密数据。发送方使用接收方的公钥来加密消息,只有接收方持有的私钥才能解密该消息。这种方式确保了即使在不安全的通信渠道上,只有授权的接收方能够读取消息内容。
  2. 数字签名:私钥可用于生成数字签名,公钥用于验证数字签名。发送方使用私钥对消息进行签名,接收方使用发送方的公钥来验证签名。这确保了消息的完整性和真实性,接收方可以确定消息确实来自于发送方且未被篡改。
  3. 身份验证:通过证明持有与其身份相关联的私钥,个体可以验证其身份。例如,Web 服务器可以使用数字证书(包含公钥),以证明其身份。客户端可以使用服务器的公钥来验证其身份,确保其连接到了正确的服务器而不是中间人攻击者。
  4. 安全通信:密钥对可用于建立安全通信渠道,如 SSL/TLS 协议。客户端和服务器之间的通信可以通过使用密钥对来加密和解密数据,从而保护数据免受窃听和篡改。

总的来说,密钥对的作用是确保数据的保密性、完整性和真实性,以及建立安全的通信渠道。

3.2 免密登录

ecdsa加密为例

ssh-keygen -t ecdsa
  • ssh-keygen:生成密钥对文件
  • -t:选择加密方式
  • 在这里插入图片描述

/root/.ssh/下生成两个文件:私钥文件id_ecdsa,公钥文件 id_ecdsa.pub

cd /root/.ssh
ssh-copy-id -p 10022 -i id_ecdsa.pub root@20.0.0.20
#传递公钥文件到主机20.0.0.20的root用户的授权密钥列表,指定端口10022

ssh-copy-id :将本地计算机上的 SSH 公钥添加到远程计算机的授权密钥列表中

  • -i:指定要复制的公钥文件,默认情况下它会查找 ~/.ssh/id_rsa.pub~/.ssh/id_dsa.pub 文件。

  • -p:指定远程 SSH 端口,默认为 22。

  • -o:在复制公钥时传递给 ssh 命令的选项。这允许你传递额外的选项,比如 -o "ProxyCommand=..."

  • -f:复制公钥到远程主机的指定文件,默认是 ~/.ssh/authorized_keys

ssh-agent bash		#添加密钥缓存
ssh-add				#本机添加私钥到ssh-agent,实现免密登录
ssh root@20.0.0.10	#可以免密登录到已添加的私钥
ssh-agent -k		#会话结束后可以关闭ssh-agent

3.3 xshell免密登录

使用远程连接工具xshell通过密钥实现免密登录,根据上文知道需要把本地xshell生成的密钥添加到要登录主机的授权密钥列表中去。所以这里用xshell实现密钥免密登录的前提是,能够登录到要登录的主机进行配置。

配置流程:要通过密钥对实现免密登录主机test2@20.0.0.20/24

在xshell新建连接的界面选择设置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

生成密钥对,继续下一步(图略)

在这里插入图片描述

在这里插入图片描述

这里完成后,下一步就是把公钥文件上传到目标主机并进行相应配置。

公钥上传到主机可用scp等远程复制、传输工具,上传后,复制公钥到默认的ssh密钥保存目录/root/.ssh,接下来进行配置:

cd /root/.ssh/
cat id_rsa_2048.pub >> authorized_keys
# 把公钥的内容输入到授权密钥列表中
[root@test2 .ssh]# chmod 600 authorized_keys 
# 对授权密钥列表授权 600

在这里插入图片描述

在这里插入图片描述

至此登陆成功,实现xshell通过密钥实现免密登录。

相关文章:

ssh远程管理

一、Openssh概述 Openssh是一种安全通道协议,用来实现字符界面的远程登录、远程复制、远程文本传输。 Openssh对通信双方的数据进行了加密。有两种方式: 用户名和密码登录:比较常用密钥对认证方式:可以实现免密登录 ssh端口&a…...

【ai】pycharm远程ssh开发

方式1: gateway的方式是远程放一个pycharm 专业版,经常下载失败 方式2: 类似vs,源码本地,同步到远程进行运行。 参考大神的分享: Pycharm远程连接服务器(2023-11-9) Pycharm远程连接服务器(windows下远程修改服务器代码)[通俗易懂] cpolar 建议同时内网穿透 选 远程开…...

leetcode 9 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而…...

学习Python的基础知识

目录 摘要 Python 的主要特点 基本语法 1. 变量和数据类型: 2. 条件语句: 3. 循环: 4. 函数: 5. 类和对象: 6. 列表和字典: 7. 文件I/O: Python 的学习路线 如何高效使用 Python 的…...

第五届上海市青少年算法竞赛网络同步赛(小学组)

第五届上海市青少年算法竞赛网络同步赛(小学组)T1. 符号译码_网络同步赛 内存限制: 256 Mb 时间限制: 1000 ms 题目描述 小爱为标点符号设计了一套编码系统,编码规则如下: [ 的编码为 010 ] 的编码为 101 < 的编码为 00 > 编码为 11 + 的编码为 011 - 编码为 100 根…...

【区分vue2和vue3下的element UI Cascader 级联选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】

在Vue 2的Element UI和Vue 3的Element Plus中&#xff0c;el-cascader&#xff08;级联选择器&#xff09;组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader组件的属性、事件和方法的详细介绍&#xff0c;并附带示例。 Vue 2的Element UI el-cascader 属性…...

pottery,一个超酷的 Python 库!

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超酷的 Python 库 - pottery。 Github地址&#xff1a;https://github.com/brainix/pottery 在分布式系统和高并发环境中&#xff0c;Redis 作为一种高性能的键值存储数据库&#xff0c;被广泛…...

【Android面试八股文】在Java中重载和重写是什么意思,区别是什么?

文章目录 在Java中重载和重写是什么意思,区别是什么?这道题想考察什么 ?考察的知识点考生应该如何回答重载(Overloading)重写(Overriding)重载和重写的区别在Java中重载和重写是什么意思,区别是什么? 这道题想考察什么 ? Java基础 考察的知识点 面向对象多态的基…...

【第二篇】SpringSecurity源码详解

一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用Spring Security XML名称空间进行配置或Spring Security的Java configura…...

基于Python+FFMPEG环境下载B站歌曲

题主环境 WSL on Windows10 命令如下 # python3.9 pip install --pre yutto yutto --batch https://www.bilibili.com/video/BV168411o7Bh --audio-only ls | grep aac | xargs -I {} ffmpeg -i {} -acodec libmp3lame {}.mp3WinAmp...

静态 VxLAN 浅析及配置示例(头端复制)

一、概念&#xff1a; VxLAN&#xff1a;Visual eXtensible Local Area Network 虚拟扩展本地局域网&#xff0c;一种隧道技术&#xff0c;能在三层网络的基础上建立二层以太网网络隧道&#xff0c;从而实现跨地域的二层互连&#xff0c;VxLAN端口&#xff1a;4789EVPN&#x…...

2023年与2024年AI代理基础设施的演进:六大关键变化

随着人工智能技术的不断进步,AI代理基础设施在2023年和2024年之间经历了显著的发展和变革。本文将探讨这两年间AI代理基础设施的六大关键变化,展示如何为开发者和用户提供更加强大和集成化的解决方案。 1. 代理特定开发工具的兴起 2024年见证了专为AI代理设计的新一代开发工…...

实验三-8086指令的应用《计算机组成原理》

一、实验目的 掌握8086指令的应用 二、实验原理 三、实验仪器 计算机1台&#xff0c;emu8086软件。 四、实验步骤 1、建立00H&#xff5e;0FH&#xff5e;00H 31个数&#xff0c;00H&#xff5e;0FH数据逐渐增大,0FH&#xff5e;00H逐渐减小&#xff0c;即DI指针所表示的地…...

《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!

2024年《维汉翻译通》App迎来重大更新&#xff01;这次升级不仅带来了全新的功能&#xff0c;还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点&#xff1a; 维语短文本翻译免费啦&#xff01; 我们深知语言是沟通的桥梁&#xff0c;为了让更多人能够跨越语…...

全年申报!2024年陕西省双软企业认定条件标准、申报好处费用

1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…...

系统移植 (以将Linux系统移植到S5P6818开发板为例)

&#xff08;本篇文章以将Linux系统移植到S5P6818开发板为例&#xff09; 本文章所需要的文件在下面链接获取&#xff1a;https://download.csdn.net/download/a1547998353/89406544 开发环境搭建 1、安装交叉编译工具链 安装步骤&#xff1a; 1. 在ubuntu的家目录(~)下,创建t…...

超长正整数的加法

一、引言 在计算机科学中&#xff0c;整数加法是一个基础且重要的操作。然而&#xff0c;当面对超长正整数&#xff08;即超出计算机内置整数类型表示范围的整数&#xff09;时&#xff0c;传统的整数加法方法便不再适用。超长正整数通常使用字符串或数组来表示&#xff0c;每…...

C++ - 查找算法 和 其他 算法

目录 一. 查找算法&#xff1a; 1.顺序查找&#xff1a; 2.二分查找&#xff1a; 二. 其他算法&#xff1a; 1.遍历算法&#xff1a; 2.求和、求平均值等聚合算法。 a.求和算法&#xff1a; b.求平均值算法&#xff1a; 一. 查找算法&#xff1a; 1.顺序查找&#xff1…...

字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端

字符串的信号&#xff08;SIGNAL&#xff09;和槽&#xff08;SLOT&#xff09;的宏连接方式在 Qt 4 及早期版本中广泛使用&#xff0c;但这种方法确实存在一些缺点&#xff0c;主要包括以下几点&#xff1a; 类型安全性缺失&#xff1a;由于 SIGNAL 和 SLOT 宏接受的是字符串参…...

Kali linux学习入门

Kali linux学习入门 文章目录 Kali linux学习入门Kali Linux简介Kali Linux工具篇Kali Docker安装Docker 更换国内镜像源Kali 安装 docker compose Kali Linux文档篇Kali Linux 社区篇 Kali Linux简介 Kali Linux是专门用于渗透测试linux操作系统&#xff0c;它由BackTrack发展…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...