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发展…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
