摆烂式学习ssh

摆烂式学习ssh

  • ssh工作原理
  • ssh基本使用
  • sshd配置文件
  • 密钥登录
    • 1.客户端
    • 2.服务器
    • 3.注意事项
    • 4.使用密钥登录测试
  • ssh高级使用技巧
    • 1.在非正规端口启动
    • 2.rsync 命令
    • 3.透过 ssh 通道加密原本无加密的服务
    • 4.以ssh信道配合x server 传递图形接口
    • 5.ssh配合virtualbox虚拟机使用技巧

ssh工作原理

后续补充

ssh基本使用

后续补充

sshd配置文件

ssh服务器配置文件是/etc/ssh/sshd_config,大多数配置选项默认配置即可.

StrictModes yes
#这个选项非常重要,使用密钥登录时,会检查家目录和配置文件的权限,参考后面密钥登录说明PasswordAuthentication yes
#这个选项选择是否可以使用用户名和密码登录

密钥登录

1.客户端

在客户端生成密钥

#1.查看客户端可以生成哪些类型密钥ssh-keygen --help[-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]
#2.查看服务器支持哪些类型密钥
#sh_host_*为服务器支持的密钥类型
tree /etc/ssh/
/etc/ssh/
├── moduli
├── ssh_config
├── sshd_config
├── ssh_host_ecdsa_key
├── ssh_host_ecdsa_key.pub
├── ssh_host_ed25519_key
├── ssh_host_ed25519_key.pub
├── ssh_host_rsa_key
├── ssh_host_rsa_key.pub
└── ssh_import_id#3.生成密钥
#选择客户端和服务器端都支持的密钥类型
#-t: 指定密钥类型
ssh-keygen -t ed25519Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\pc/.ssh/id_ed25519): #建立密钥文件,直接回车
Created directory 'C:\\Users\\pc/.ssh'. #目录不存在,自动建立
Enter passphrase (empty for no passphrase): #对密钥进行加密,直接回车,不加密
Enter same passphrase again: #回车
The key fingerprint is:
SHA256:CZXwmJisbe+Tg7iyllsNF49RGin+NdFdyVDELiKkzTM pc@DESKTOP-1RI3V9O
The key's randomart image is:
+--[ED25519 256]--+
|     .ooo...B+.  |
|   o ++B.. . +   |
|  . =+O o   .    |
|   + .=E o . .   |
|  ..+o..S . .    |
|   .+o           |
|  .o o..         |
|.oo ..+          |
|o+o.  .o         |
+----[SHA256]-----+

查看生成的密钥文件

cd .\.ssh\
PS C:\Users\pc\.ssh> ls目录: C:\Users\pc\.sshMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2023/12/29     19:30            411 id_ed25519 #私钥
-a----        2023/12/29     19:30            101 id_ed25519.pub #公钥

2.服务器

到需要登录的账号的家目录下.

#1.建立目录~/.ssh
mkdir ~/.ssh#2.把客户端公钥复制到服务器客户家目录.ssh目录下
#windows11下的命令,linux相似
scp .\id_ed25519.pub lei@u18:\home\lei\.ssh#3.把公钥存储到authorized_keys文件中
cd /home/lei/.ssh
cat id_ed25519.pub >> authorized_keys#4.~目录其他用户权限不能有写权限即可
chmod 775 -R ~
#只要其他用户的权限没有写权限就可以
chmod 700 -R ~

3.注意事项

服务器上要登录的目录其他用户权限一定不能是写权限,否则密钥登录失败!

还有另外一种解决办法,就是修改配置文件 vim /etc/ssh/sshd_config

StrictModes no

这一点很重要.

网络上很少有说明这一点的地方.查看man sshd_config可以明白这一点.

 StrictModesSpecifies whether sshd(8) should check file modes and ownership of the user's files and home directory before accepting login.  This is normally desirable because novicessometimes accidentally leave their directory or files world-writable.  The default is yes.  Note that this does not apply to ChrootDirectory, whose permissions and owner‐ship are checked unconditionally.

4.使用密钥登录测试

使用工具MobaXterm,测试可以使用密钥登录.

使用powershell或cmd测试

ssh lei@u18
#不需要密码直接登录

ssh高级使用技巧

1.在非正规端口启动

#vim /etc/ssh/sshd_config
#可以有多个端口一起使用
Port mmm
Port nnn#使用
ssh -p portnumber  username@hostname

2.rsync 命令

会产生比较, 只copy更新或不存在的文件和目录
例子:

#1.本地使用
sudo rsync -av /etc/ testdir/#2.将server上的/etc复制到本地/tmp中
rsync -av -e ssh user@server:/etc /tmp

rsync 语法

rsync [-avrlptgoD][-e ssh][user@host:/dir][/local/path]
#-v: 观察模式,可以列出更多的信息,包括镜像时的档案名称等;
#-q: 与 -v 相反, 安静模式, 略过正常信息, 仅显示错误讯息;
#-r: 递归复制
#-u: 仅更新(update),若目标档案较新,则保留新档案不会覆盖;
#-l: 复制链接文件的属性,尔非链接的目标源文件内容;
#-p: 复制时,连同属性(permission)也保存不变;
#-g: 保存源文件的拥有群组;
#-o: 保存源文件的拥有人;
#-D: 保存源文件的装置属性(device)
#-t: 保存源文件的时间参数;
#-l: 忽略更新时间(mtime)的属性,档案比对上会比较快速;
#-z: 在数据传输时,加上压缩的参数;
#-e: 使用的通道协议,例如使用ssh通道, 则 -e ssh
#-a: 相当于 -rlptgoD, 所以这个-a是最常用的参数

3.透过 ssh 通道加密原本无加密的服务

后续补充

4.以ssh信道配合x server 传递图形接口

后续补充

5.ssh配合virtualbox虚拟机使用技巧

把四个虚拟网卡都打开.例如下图,网卡1用于连接嵌入式板卡用于开发,网卡2连接无线路由器用于上网,网卡3用于仅主机网络用于在图书馆等地方本地电脑连接ubuntu主机学习或工作,网卡4设置成NAT方式用于其他应用.

为了登录方便使用以下方式登录

  1. 使用hostname登录,这样就不要记住IP地址了,例如 ssh username@hostname
  2. 尽量可能的情况下设置成DHCP方式,换个环境就不需要设置IP地址了.
  3. 配置成密钥登录方式,这样登录时就不需要输入密码了,特别是使用vscode远程开发linux项目时,vscode可以省去许多中间输入密码的提示.

以上设置保证不管把电脑拿到何处,都不需要重新配置网络,同时调试嵌入式板卡时,还能同时上网安装软件.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python高级用法:装饰器(decorator)

装饰器(decorator) Python装饰器的作用是使函数包装与方法包装(一个函数,接受函数并返回其增强函数)变得更容易阅读和理解。最初的使用场景是在方法定义的开头能够将其定义为类方法或静态方法。 不使用装饰器的代码如…

主干网络篇 | YOLOv8 更换骨干网络之 ResNet50/ResNet101 | 原论文一比一复现

论文地址:https://arxiv.org/abs/1512.03385v1 更深层的神经网络更难以训练。我们提出了一个残差学习框架,以便于训练比以往使用的网络更深层的网络。我们明确地将层重构为学习相对于层输入的残差函数,而不是学习无参考的函数。我们提供了全面的实证证据,表明这些残差网络…

Unity 欧盟UMP用户隐私协议Android接入指南

Unity 欧盟UMP用户协议Android接入指南 官方文档链接开始接入mainTemplate.gradle 中引入CustomUnityPlayerActivity 导入UMP相关的包java类中新增字段初始化UMPSDK方法调用![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d882171b068c46a1b956e80425f3a9cf.png)测…

java实现大文件分片上传

背景: 公司后台管理系统有个需求,需要上传体积比较大的文件:500M-1024M;此时普通的文件上传显然有些吃力了,加上我司服务器配置本就不高,带宽也不大,所以必须考虑多线程异步上传来提…

mfc100u.dll文件丢失,有五种不同解决方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到mfc100u.dll文件”。那么,mfc100u.dll文件到底是什么?为什么会出现丢失的情况?本文将详细介绍mfc100u.dll文件的作用以及丢失的原因,并…

Anaconda下载与超安装详解教程

1 Anaconda 1.1 简介 Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 477MB),如果只需要某些包,…

安全与认证Week4

目录 本章需要理解的问题 历年题还出现 Web Security (TLS/SSL) 关于网络 使用网络会受到的威胁 各层安全协议 S/MIME、PGP(后面和S/MIME一起出现)、Kerberos、TLS/SSL 和 IP/IPSec 分别是: S/MIME (Secure/Multipurpose Internet Mail Exten…

DsPdf:GcPdf 7.0 for NET Crack

DsPdf:GcPdf 7.0 用于全面文档控制的功能丰富的 C# .NET PDF API 库 PDF 文档解决方案(DsPdf,以前称为 GcPdf)可让您快速、高效地生成文档,且无需依赖任何内存。 在 C# .NET 中生成、加载、编辑和保存 PDF 文档 支持多种语言的全…

安装Unity详细教程(如何获取免费个人版许可证)

文章目录 下载Unity Hub安装Unity Hub登录获取免费个人版许可证安装Unity编辑器卸载Unity编辑器 下载Unity Hub 首先,我们需要到Unity的官网下载Unity Hub:Unity CN 我们可以在Unity Hub上管理我们的编辑器版本和项目文件。 安装Unity Hub 然后安装Un…

科技智慧,产业链全覆盖:河南恩珅德农业的养殖业务优势

河南恩珅德农业以科技智慧和全产业链覆盖的优势,成功打造了一体化的养殖业务模式,为养殖者提供了全面的支持和优越的管理体验。以下是该企业养殖业务的核心优势: 1. 先进科技智慧 河南恩珅德农业充分利用先进的科技手段,引入智能…

PS 2024全新开挂神器Portraiture v4.1.2升级版,功能强大,一键安装永久使用

关于PS修图插件,相信大家都有安装过使用过,而且还不止安装了一款,比如最为经典的DR5.0人像精修插件,Retouch4me11合1插件,Portraiture磨皮插件,这些都是人像精修插件中的领跑者。 其中 Portraiture 刚刚升…

视频剪辑方法:掌握视频嵌套合并技术,释放无限创意

随着数字媒体的普及,视频剪辑已是创意表达的重要技巧。通过掌握视频嵌套合并技术,可以将多个视频片段融合在一起,创造出独特的视觉效果和故事叙述。现在一起看云炫AI智剪批量剪辑视频嵌套合并方法,释放无限创意。 准备视频素材&a…

【Unity】 HTFramework框架(四十七)编辑器日志中使用超链接的技巧

更新日期:2024年1月3日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 日志中使用超链接超链接-网络地址超链接-本地地址超链接-项目资源文件超链接-脚本对象 日志中使用超链接 在编辑器控制台Console中的日志是支持富文本的&…

前端开发个人简历范本(2024最新版-附模板)

前端开发工程师个人简历范本> 年龄 25岁 性别 男 毕业院校 XX大学 张三 学历 邮箱 leeywai-tools.cn 本科 专业 计算机科学与技术 个人梗概 拥有扎实的前端开发技能和丰富的实践经验 善于与团队合作,适应能力强,能够快速融入团队并贡献自…

工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)

工业相机如何实现实时和本地Raw图像和Bitmap图像的保存和相互转换(C#代码,UI界面版) 工业相机图像格式工业相机实现Raw图像和Bitmap图像的保存和转换的技术背景在相机SDK中获取图像转换图像的代码分析工业相机回调函数里保存Bitmap图像数据工…

《动手学深度学习》学习笔记 第7章 现代卷积神经网络

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

mysql聚簇索引和非聚簇索引

目录 InnoDB引擎MylSAM引擎聚簇索引的优点和缺点参考 聚簇索引和非聚簇索引的区别:叶节点是否存放一整行记录。 聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。 非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对…

SpringBoot+ShardingSphereJDBC实战(读写分离,分库分表,垂直拆分、水平拆分)附源码

参考:https://www.51cto.com/article/747736.html https://blog.csdn.net/qq_41581588/article/details/126966665 源码地址:gitgitee.com:jackXUYY/springboot-example.git 读写分离测试 我们启用后缀名为dev的配置文件,如下,…

nginx 一、安装与conf浅析

文章目录 一、安装nginxdocker方式安装linux方式安装Ubuntu 或 Debian 系统:CentOS 或 RHEL 系统: macOS 系统(使用 Homebrew):Windows 系统: 二、nginx.conf浅析 Nginx(发音为“engine-x”&…

椭圆中点算法

原理 椭圆的扫描转换与圆的扫描转换有相似之处,但也有不同,主要区别是椭圆弧上存在改变主位移方向的临界点。瞬时针绘制四分椭圆弧的中点算法,根据对称性可以绘制完整的椭圆。 四分椭圆弧 中心在原点,长半轴为 a a a、短半轴为…