摆烂式学习ssh

news2024/11/24 12:07:53

摆烂式学习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 ed25519

Generating 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\.ssh


Mode                 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可以明白这一点.

 StrictModes
             Specifies 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 novices
             sometimes 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.coloradmin.cn/o/1350454.html

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

相关文章

不知道怎么使用IDEA,一篇文章带你快速上手

前言 IDEA 是由 JetBrains 公司开发的软件产品,全称为 IntelliJ IDEA,一个 Java 语言的集成开发环境。它 —— 在业界被公认为是最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审…

MySQL 8.0 InnoDB Tablespaces之Undo Tablespaces(UNDO表空间)

文章目录 MySQL 8.0 InnoDB Tablespaces之Undo Tablespaces(UNDO表空间)Undo Tablespaces(UNDO表空间)默认UNDO表空间添加 Undo 表空间查看Undo 相关的信息查看Undo 相关参数变量查看Undo 状态信息通过information_schema.innodb_…

css文本溢出处理——单行、多行

日常开发中,经常会遇到需要展示的文本过长,这种情况下,为了提高用户的使用体验,最常见的处理方式就是把溢出的文本显示成省略号。 处理文本的溢出的方式:1)单行文本溢出; 2)多行文本…

51单片机中TCON, IE, PCON等寄存器的剖析

在单片机中,如何快速通过名字记忆IQ寄存器中每一个控制位的作用呢? IE(interrupt enable)寄存器中,都是中断的使能位置。 其中的EA(enable all)是总使能位,ES(enable serial)是串口…

Find My帽子|苹果Find My技术与帽子结合,智能防丢,全球定位

帽子是戴在头部的服饰,多数可以覆盖头的整个顶部。主要用于保护头部,部分帽子会有突出的边缘,可以遮盖阳光。帽子亦可作打扮之用,也可以用来保护发型、遮盖秃头。可不同种类,例如贝雷帽、鸭舌帽等等。戴帽子在不同的地…

【23-24 秋学期】NNDL 作业13 优化算法3D可视化

编程实现优化算法,并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 代码如下: from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt import torch from nndl.op import Op# 画出x**2 class Optimized…

关于Python里xlwings库对Excel表格的操作(二十四)

这篇小笔记主要记录如何【如何使用xlwings库中的“api”类设置单元格边界线型、粗细、颜色】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库;…

宣传照(私密)勿转发

精美的海报通常都是由UI进行精心设计的,现在有100 件商品需要进行宣传推广,如果每个商品都出一张图显然是不合理的,且商品信息各异。因此需要通过代码的形式生成海报。对此,我也对我宣传一波,企图实现我一夜暴富的伟大…

深度学习代码20240102

import torch from torch import nn #搭建神经网络 class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()#在 Tudui 类的构造函数中调用其父类的构造函数,以确保执行父类的初始化操作#通过 super(Tudui, self).__init__(),我们获取…

基于springboot技术的美食烹饪互动平台的设计与实现

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅一 、设计说明 1.1 课题背景 二…

【C++】浅拷贝 / 深拷贝 / 写时拷贝

文章目录 1. 经典的string类问题2. 浅拷贝3. 深拷贝3.1 传统写法的String类3.2 现代写法的String类 4. 写时拷贝 1. 经典的string类问题 上一篇博客已经对string类进行了简单的介绍,大家只要能够正常使用即可。 链接:【C】string 在面试中,面…

PMP报考别跟风!搞懂这些问题不踩坑

大家好,今天我想和大家分享一下关于PMP报考的一些问题。近年来,PMP认证越来越受到大家的关注,但是报考PMP并不是一件简单的事情,需要我们认真考虑和准备。下面我将从PMP是什么、PMP有什么用、PMP适合什么人考、PMP是学什么的、PMP…

Git开发工具基本使用

文章目录 前言Git仓库基本概念基本环境安装清除原先配置生成秘钥配置Host添加公钥Github添加Gitee添加测试 本地仓库基本概览查看提交日志(log)版本回退添加文件至忽略列表分支分支冲突 远程仓库推送到远程仓库从远程仓库中抓取和拉取 在Idea中使用Git总结 前言 这里只是对Git…

WPF+Halcon 培训项目实战(10):HS组件绘制图案

文章目录 前言相关链接项目专栏运行环境匹配图片模板匹配加载模板文件运行结果 绘制十字标 WPF HS组件绘制图像绘制和生成的区别 前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只…

系列一、如何正确的获取Spring Cloud Alibaba Spring Cloud Spring Boot之间的版本对应关系

一、正确的获取Spring Cloud Alibaba & Spring Cloud & Spring Boot之间的版本对应关系 1.1、概述 Java发展日新月异,Spring Cloud Alibaba 、 Spring Cloud 、 Spring Boot在GitHub上的迭代也是异常的频繁,这也说明其社区很活跃,通…

NFS(文件存储服务)

题目 创建NFS共享文件夹,允许InsideCli可以远程挂载,映射挂载到D卷。共享文件夹路径为D:\shares\NFSshare。共享名称为NFSshare。允许未映射的用户访问。共享权限为读/写。服务配置步骤( 服务端 ) 步骤一 - 安装服务 步骤二 - 配置NFS服务 配置共享文件夹 选择共享路径

【BIG_FG_CSDN】C++ 数组与指针 (个人向——学习笔记)

一维数组 在内存占用连续存储单元的相同类型数据序列的存储。 数组是静态存储器的块;在编译时确定大小后才能使用; 其声明格式如下: 元素类型 数组名[常量];元素类型:数组中元素的数据类型; 常量&#…

Linux系统驱动要如何学习

1.你将获得: 快速上手 Linux 操作系统; 掌握Linux 内核工作原理; 掌握Linux 内核调试手段; 掌握复杂驱动:USB、PCIE、V4L2等 这门课程旨在为你打开Linux内核驱动的大门,让你在探索Linux内核的旅程中获得前…

HPM6750开发笔记《GPIO例程深度解析》

目录 创建工程: 代码分析: 1.头文件包含: 2.宏定义: 3.中断服务程序(ISR): 清除中断标志: 处理 LED 状态切换: 处理用户按键状态: 处理其他情况&…

Tomcat服务为什么起不来?

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 服务跑在Tomcat下面,有时候会遇到Tomcat起不来的情况。目前为止常遇到的情况有如下几种: 1. Tomcat服务…