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地址 #格式
-p :ssh默认端口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
密钥对由两个相关联的密钥组成:公钥和私钥。
- 加密和解密:公钥用于加密数据,私钥用于解密数据。发送方使用接收方的公钥来加密消息,只有接收方持有的私钥才能解密该消息。这种方式确保了即使在不安全的通信渠道上,只有授权的接收方能够读取消息内容。
- 数字签名:私钥可用于生成数字签名,公钥用于验证数字签名。发送方使用私钥对消息进行签名,接收方使用发送方的公钥来验证签名。这确保了消息的完整性和真实性,接收方可以确定消息确实来自于发送方且未被篡改。
- 身份验证:通过证明持有与其身份相关联的私钥,个体可以验证其身份。例如,Web 服务器可以使用数字证书(包含公钥),以证明其身份。客户端可以使用服务器的公钥来验证其身份,确保其连接到了正确的服务器而不是中间人攻击者。
- 安全通信:密钥对可用于建立安全通信渠道,如 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中,el-cascader(级联选择器)组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader组件的属性、事件和方法的详细介绍,并附带示例。 Vue 2的Element UI el-cascader 属性…...
pottery,一个超酷的 Python 库!
更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - pottery。 Github地址:https://github.com/brainix/pottery 在分布式系统和高并发环境中,Redis 作为一种高性能的键值存储数据库,被广泛…...
【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 浅析及配置示例(头端复制)
一、概念: VxLAN:Visual eXtensible Local Area Network 虚拟扩展本地局域网,一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,VxLAN端口:4789EVPN&#x…...
2023年与2024年AI代理基础设施的演进:六大关键变化
随着人工智能技术的不断进步,AI代理基础设施在2023年和2024年之间经历了显著的发展和变革。本文将探讨这两年间AI代理基础设施的六大关键变化,展示如何为开发者和用户提供更加强大和集成化的解决方案。 1. 代理特定开发工具的兴起 2024年见证了专为AI代理设计的新一代开发工…...
实验三-8086指令的应用《计算机组成原理》
一、实验目的 掌握8086指令的应用 二、实验原理 三、实验仪器 计算机1台,emu8086软件。 四、实验步骤 1、建立00H~0FH~00H 31个数,00H~0FH数据逐渐增大,0FH~00H逐渐减小,即DI指针所表示的地…...
《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!
2024年《维汉翻译通》App迎来重大更新!这次升级不仅带来了全新的功能,还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点: 维语短文本翻译免费啦! 我们深知语言是沟通的桥梁,为了让更多人能够跨越语…...
全年申报!2024年陕西省双软企业认定条件标准、申报好处费用
1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…...
系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例) 本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544 开发环境搭建 1、安装交叉编译工具链 安装步骤: 1. 在ubuntu的家目录(~)下,创建t…...
超长正整数的加法
一、引言 在计算机科学中,整数加法是一个基础且重要的操作。然而,当面对超长正整数(即超出计算机内置整数类型表示范围的整数)时,传统的整数加法方法便不再适用。超长正整数通常使用字符串或数组来表示,每…...
C++ - 查找算法 和 其他 算法
目录 一. 查找算法: 1.顺序查找: 2.二分查找: 二. 其他算法: 1.遍历算法: 2.求和、求平均值等聚合算法。 a.求和算法: b.求平均值算法: 一. 查找算法: 1.顺序查找࿱…...
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式在 Qt 4 及早期版本中广泛使用,但这种方法确实存在一些缺点,主要包括以下几点: 类型安全性缺失:由于 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操作系统,它由BackTrack发展…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
