使用 msys2 sshd为 windows 搭建 ssh 服务器

news2025/1/19 2:34:43

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
      • MSYS2
      • openSSH服务器
    • 技术细节
      • 安装 MSYS2 环境
      • 安装openSSH
      • 配置、启动SSH
    • 小结和扩展

概要

SSH服务器在Linux下的搭建一般的文章讨论的比较多了。在Windows下,我们常用Windows的Linux子系统来搭建ssh服务器。那有没有更好更简洁的方法呢?答案是有的,msys2环境为我们提供了Windows下的Linux解决方案,它的openSSH服务器搭建起来非常简单,而且因为它提供了近乎完整的bash,以及编译环境和GUI库的支持,这使得它比Linux子环境更为实用。

整体架构流程

首先是安装MSYS2环境,而后,使用pacman安装openssh。最后,配置证书、选项,并运行sshd实现功能。

技术名词解释

MSYS2

MSYS2 是一个为Windows操作系统提供类Unix环境的软件包管理器和工具集。它的目标是为开发人员提供一个在Windows上进行软件开发的便捷环境。MSYS2环境包括以下主要组件:

  • MinGW系列环境:一个用于Windows的开发工具集,包括GCC编译器和一系列常用的开发库,可以用于编译和构建各种开源软件。
  • Pacman:一个类似于Linux的软件包管理器,可以方便地安装、更新和卸载软件包。
  • MSYS2 Shell:一个基于Bash的命令行终端,提供了一系列常用的Unix命令和工具,使开发人员可以在Windows上进行类Unix环境下的操作。
  • MSYS2 Runtime:提供了一些必要的运行时库和工具,使得在MSYS2环境下编译的程序可以在Windows上正常运行。

通过安装MSYS2环境,开发人员可以在Windows上使用类Unix环境下的工具和命令,方便地进行软件开发和调试。同时,MSYS2还提供了一些常用的开发库和工具,可以帮助开发人员更高效地进行开发工作。

openSSH服务器

OpenSSH服务器是一种用于安全远程登录和文件传输的开源软件。它提供了加密的通信通道,使得用户可以通过网络安全地远程登录到服务器,并在服务器和客户端之间传输文件。OpenSSH服务器使用SSH(Secure Shell)协议来加密通信,防止敏感信息在传输过程中被窃取或篡改。

OpenSSH服务器具有以下特点:

  • 安全性:OpenSSH服务器使用公钥加密技术来验证客户端身份,并使用对称加密算法来保护通信内容的机密性和完整性。
  • 远程登录:用户可以通过SSH客户端远程登录到OpenSSH服务器,以执行命令和管理服务器。
  • 文件传输:OpenSSH服务器支持SCP(Secure Copy)和SFTP(SSH File Transfer Protocol)协议,可以安全地传输文件到服务器或从服务器下载文件。
  • 端口转发:OpenSSH服务器支持端口转发功能,可以将本地端口与远程服务器上的服务关联起来,实现安全的网络访问。

技术细节

安装 MSYS2 环境

在Windows下安装和配置MSYS2环境可以按照以下骤进行:

  1. 下载MSYS2安装程序:访问MSYS2官方网站(https://www.msys2.org/)下载最新的MSYS2安装程序。也可以直接去清华,中科大下载,更快。

  2. 运行安装程序:双击下载的安装程序,按照提示选择安装路径和其他选项。建议选择默认选项进行安装。

  3. 替换源:MSYS2替换国内源,清华,中科大

安装openSSH

在MSYS2下安装OpenSSH可以通过以下步骤进行:

  1. 打开MSYS2终端。
  2. 更新MSYS2的软件包列表,输入以下命令并按回车键执行:
    pacman -Syu
    
  3. 安装OpenSSH软件包,输入以下命令并按回车键执行:
    pacman -S openssh
    
  4. 安装过程中,系统会提示你选择安装哪个版本的OpenSSH。你可以选择最新版本,输入对应的数字并按回车键继续安装。

配置、启动SSH

此时,ssh仍旧没有证书。
运行:

ssh-keygen -t rsa -b 4096 -A

生成证书,即可使用命令:

/usr/bin/sshd

启动服务。注意,必须用绝对路径启动,否则会报错。

小结和扩展

笔者一直以携带 Qt, GIMP, InkScape, openSSH的MSYS2作为开发环境。作为一个在Windows平台上提供类似Linux环境的软件包管理器,它提供了Qt,结合使用MSYS2和Qt可以在Windows上进行Linux子环境的开发和编译。

对于Qt开发者来说,MSYS2提供了一个理想的开发环境。首先,MSYS2中已经包含了Qt的编译器和相关工具,可以直接使用Qt进行开发和编译。其次,MSYS2还提供了GIMP和Inkscape等图像处理软件,这些软件在Qt应用程序的GUI开发中经常会用到,可以方便地进行图像编辑和处理。MSYS2还支持SSH协议,可以方便地进行远程连接和操作。开发者可以通过SSH连接到其他Linux服务器或设备,进行远程调试和部署。

综上所述,使用MSYS2和Qt可以在Windows平台上搭建一个功能强大的Linux子环境,方便开发者进行应用程序的开发、编译和调试。通过MSYS2提供的工具和环境,开发者可以更加高效地进行开发工作,并且能够充分利用Qt框架的优势。

尤其是MSYS2还携带了Rust,可以作为学习Rust的平台。
msys

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

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

相关文章

计算机网络—HTTP协议:深入解析与应用实践

​ 🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:ヒステリックナイトガール 1:03━━━━━━️💟──────── 5:06 🔄 ◀️ ⏸ ▶️ ☰…

This app has no Android key hashes configured. . Configure your app key

Unity 接入 Facebook SDK 的过程中遇到这个问题,查了很多帖子,不太直观,记录下来方便需要的同学参考 报上面错误的原因是在https://developers.facebook.com/apps/ 设置里没有填入有效的密钥 怎么填入这个密钥呢,其实很简单&…

微电网优化:基于巨型犰狳优化算法(Giant Armadillo Optimization,GAO)的微电网优化(提供MATLAB代码)

一、微电网优化模型 微电网是一个相对独立的本地化电力单元,用户现场的分布式发电可以支持用电需求。为此,您的微电网将接入、监控、预测和控制您本地的分布式能源系统,同时强化供电系统的弹性,保障您的用电更经济。您可以在连接…

蓝桥杯 - 穿越雷区

解题思路: dfs 方法一: import java.util.Scanner;public class Main {static char[][] a;static int[][] visited;static int[] dx { 0, 1, 0, -1 };static int[] dy { 1, 0, -1, 0 };static long min Long.MAX_VALUE;static long count 0;publi…

HuggingFace踩坑记录-连不上,根本连不上

学习 transformers 的第一步,往往是几句简单的代码 from transformers import pipelineclassifier pipeline("sentiment-analysis") classifier("We are very happy to show you the 🤗 Transformers library.") ""&quo…

DSP实时计算平台设计方案:912-基于6U CPCIe的双路光纤图像DSP实时计算平台

基于6U CPCIe的双路光纤图像DSP实时计算平台 一、设备概述 设备基于6U CPCIe架构,通过背板交换实现4片信号处理板卡的互联传输,每个信号处理板卡支持双TMS320C6678,支持2路光纤的图像处理,实现FPGA的预处理和备份工…

11 - 三八译码器和存储器组织

---- 整理自B站UP主 踌躇月光 的视频 1. 38译码器 1.1 真值表 A2A1A0O7O6O5O4O3O2O1O00000000000100100000010010000001000110000100010000010000101001000001100100000011110000000 O 0 A 2 ‾ A 1 ‾ A 0 ‾ O 1 A 2 ‾ A 1 ‾ A 0 O 2 A 2 ‾ A 1 A 0 ‾ O 3 A 2 ‾ A…

c语言--枚举类型(声明、使用、优点)

目录 一、枚举类型的声明二、 枚举类型的优点三、 枚举类型的使用 一、枚举类型的声明 枚举顾名思义就是一一列举。 把可能的取值⼀⼀列举。 比如我们现实生活中: ⼀周的星期⼀到星期日是有限的7天,可以⼀⼀列举 性别有:男、女、保密&#x…

vscode 连接远程服务器 服务器无法上网 离线配置 .vscode-server

离线配置 vscode 连接远程服务器 .vscode-server 1. .vscode-server下载 使用vscode连接远程服务器时会自动下载配置.vscode-server文件夹,如果远程服务器无法联网,则需要手动下载 1)网址:https://update.code.visualstudio.com…

【蓝桥杯-单链表-网络寻路】

蓝桥杯-单链表-网络寻路 单链表基本操作操作一:向链表头插入一个数操作二:在第 k个插入的数后插入一个数操作三:删除第 k个插入的数后面的一个数; P8605 [蓝桥杯 2013 国 AC] 网络寻路 单链表基本操作 初始化有关操作 // head 表示头结点的…

Spring Boot 接入 Redis

Spring Boot 接入 Redis 简介 Redis 是一种访问速度非常快的内存数据结构存储,用作数据库、缓存、消息代理和流引擎。提供 strings、hashes、lists、sets 等数据结构。可以解决会话缓存、消息队列、分布式锁、定期将数据集存储到硬盘等功能。 通过 Redis 设计实现…

瑞吉外卖实战学习--15、批量启售和批量禁售

批量启售和批量禁售 前言代码实现 前言 代码实现 通过url我们可以获取到传过来的ids和状态值&#xff0c;现根据状态值查询出来相关数据然后直接附加状态值最后通过updateBatchById来进行修改 PostMapping("/status/{status}")public R<String> updateStatus(…

电子台账:用控件颜色提高工作效率和数据质量

目录 1 前言 2 用页签颜色表示月度数据锁定状态 3 模板制作中定位数据源表格及其行列 3.1 鼠标移过水平过滤模板 3.2 鼠标移过垂直过滤模板 4 数据抓取过程对账页和源单元格同时染色 5 数据溯源过程&#xff0c;对企业数据源单元格染色 6 用键盘进行数据编辑后 1 前言 …

【c++】初阶模版与STL简单介绍

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章介绍一下模版和对STL进行简单的介绍&#xff0c;后续我们进入对STL的学习&#xff01; 目录 模版1.泛型编程2.函数模板2.1函数模板的原理2.2模版的实例化…

(学习日记)2024.04.08:UCOSIII第三十六节:事件

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

【JavaSE】接口 详解(上)

前言 本篇会讲到Java中接口内容&#xff0c;概念和注意点可能比较多&#xff0c;需要耐心多看几遍&#xff0c;我尽可能的使用经典的例子帮助大家理解~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 接口 语法…

YoloV8改进策略:BiFPN+小目标分支实现小目标检测精度的大幅度上升

摘要 这几天有粉丝提到了BiFPN解决小目标问题&#xff0c;我结合我的经验&#xff0c;将BiFPN和小目标分支结合实现小目标任务检测精度的上升。 BiFPN 论文&#xff1a;https://arxiv.org/pdf/1911.09070v2.pdf BiFPN&#xff0c;全称Bi-directional Feature Pyramid Netwo…

leetcode.24. 两两交换链表中的节点

题目 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 思路 创建虚拟头节点&#xff0c;画图&#xff0c;确认步骤。 实现 /*** Definition for singly-li…

阿德勒、荣格、埃里克森、霍妮、弗洛姆、沙利文的新精神分析理论

新精神分析理论&#xff0c;强调自我的自主性及其整合与调节功能&#xff0c;强调文化和社会因素对人格的重大影响。 一、阿德勒的个体心理学 阿德勒&#xff0c;是一个男人努力克服自卑感的优秀样板。阿德勒写了《超越与自卑》。 阿德勒&#xff0c;向意识层面扩展精神分析…

SpringBoot快速入门笔记(4)

文章目录 一、Vue框架1、前端环境准备2、简介3、快速开始4、事件绑定 二、Vue组件化开发1、NPM2、Vue Cli3、组件化开发4、SayHello自定义组件5、Movie自定义组件 一、Vue框架 1、前端环境准备 编码工具&#xff1a;VSCode 依赖管理&#xff1a;NPM 项目构建&#xff1a;VueCl…