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

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
      • 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.hqwc.cn/news/595966.html

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

相关文章

SV学习笔记(五)

文章目录 线程的使用程序和模块什么是线程线程的概念澄清 线程的控制fork并行线程语句块fork…joinfork…join_any等待所有衍生线程停止单个线程停止多个线程停止被多次调用的任务 线程的通信写在前面event事件通知的需求semaphore旗语mailbox信箱三种通信的比较和应用 参考资料…

无人机/飞控--ArduPilot、PX4学习记录(4)

这是一篇碎碎念,零零碎碎的记录了小组准备竞赛的过程,写的挺乱,仅供本人记录学习历程和参考。 本章主要完成的目标:调试地面站 GPS、加速度校准;试飞并炸机 目录 地面站(QGC)安装(*未完成) 地面站Mission Planner 1.…

深度学习理论基础(六)Transformer多头注意力机制

目录 一、自定义多头注意力机制1. 缩放点积注意力(Scaled Dot-Product Attention)● 计算公式● 原理 2. 多头注意力机制框图● 具体代码 二、pytorch中的子注意力机制模块 深度学习中的注意力机制(Attention Mechanism)是一种模仿…

Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

---------------Pillow教程集合--------------- Python项目18:使用Pillow模块,随机生成4位数的图片验证码 Python教程93:初识Pillow模块(创建Image对象查看属性图片的保存与缩放) Pillow教程02:图片的裁…

rust 面向对象编程特性、模式与模式匹配、高级特征

面向对象编程OOP 学习了结构体、枚举,它们可以包含自定义数据字段,也可以定义内部方法,它们提供了与对象相同的功能。 面向对象的四大特征:封装、继承、多态 通过pub标记为公有的结构体,在其他模块中可以访问使用这…

Java数据结构队列

队列(Queue) 概念 队列的使用 注意:Queue是个接口,在实例化时必须实例化LinkedList的对象,因为LinkedList实现了Queue接口。 import java.util.LinkedList; import java.util.Queue;public class Test {public static void main(String[]…

敏感信息泄露漏洞

法律声明 参与培训需要遵守国家法律法规,相关知识只做技术研究,请勿用于违法用途,造成任何后果自负与本人无关。 中华人民共和国网络安全法(2017年6月1日起施行) 第二十二条 任何个人和组织不得从事入侵他人网络、干扰…

基于SpringBoot+Vue的OA管理系统

一、项目背景介绍: 办公自动化(Office Automation,简称OA),是将计算机、通信等现代化技术运用到传统办公方式,进而形成的一种新型办公方式。办公自动化利用现代化设备和信息化技术,代替办公人员…

LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果

安装依赖 pip install --upgrade --quiet langchain-core langchain-community langchain-openai编写代码 from langchain_core.prompts import ChatPromptTemplate from langchain_community.utilities import SQLDatabase from langchain_core.output_parsers import StrO…

python 02字符串

字符串可能是用到最多的数据类型了,所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串 但别忘了字符串是不可变的,因此所有的元素赋值和切片赋值都是非法的。 1.居中效果 默认为空格 可…

Redis集群三种模式

一、Redis集群的三种模式 Redis有三种模式,分别是主从复制、哨兵模式、cluster 主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障…

基于springboot的社区医疗服务系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…