Windows下写代码并使用 SSHFS快速部署到 Linux 进行调试

2023-05-16

前言

很多时候,因为不熟悉vim或者更喜欢Windows下的一些IDE,我们需要在Windows写代码并部署到Linux服务器上进行调试。

相信很多程序员都有这个需求,也有很多自己的解决方法。常见的有使用Git,Samba,NFS,rsync,ftp等等,大部分方法我都尝试过,各有优缺点。一般都需要服务器安装相应的服务端软件,还需要开放指定的端口,像NFS这种端口还动态变化的对使用容器、防火墙的情景就更不友好了。

今天给大家推荐的是SSHFS-Win,无论你的系统是CentOS还是Ubuntu,服务器端不需要安装任何软件,只要支持SSH服务并开放SSH端口就可以了,个人觉得的一种更优雅的解决方案。

一、简介

项目地址: SSHFS-Win

SSHFS-Win是SSHFS到Windows的最小端口。在底层,它使用Cygwin作为POSIX环境,使用WinFsp作为FUSE功能。

就这?是的,就这。

二、安装步骤

  • 安装最新版本的WinFsp
  • 安装最新版本的SSHFS-Win,根据操作系统选择x64或x86版本安装程序,下面第二个下载链接均为x64版本。

WinFsp下载地址:

  • Github:https://github.com/billziss-gh/winfsp/releases/latest
  • NextCloud: https://yasin.store/s/Bzm5836Bt4HQDjX

SSHFS-Win下载地址:

  • Github:https://github.com/billziss-gh/sshfs-win/releases
  • NextCloud: https://yasin.store/s/RsZGagw8BTssjXb

三、使用方法

安装WinFspSSHFS-Win之后,您可以使用Windows资源管理器或net use命令将网络驱动器映射到SSHFS主机上的目录。

(一)Windows资源管理器

在Windows资源管理中,右击此电脑(win7系统为计算机),选择映射网络驱动器(N),然后使用以下UNC语法输入所需的驱动器号和SSHFS路径:

\\sshfs\REMUSER@HOST[!PORT][\PATH]

比如你的服务器IP是:192.168.18.128,用户名是yasin,端口是12580

添加的路径就是下面这样:

\\sshfs\yasin@192.168.18.128!12580\

首次映射特定的SSHFS路径时,系统将提示你输入SSHFS用户名和密码,也就是Linux服务器你的用户名和密码,连接成功后你就可以在我的电脑里看到多出一块磁盘,根目录就是你用户的home目录。

这样就可以在Windows下使用IDE直接修改你的代码,SSFHS会将你的修改自动同步到Linux服务器,在Linux端编译运行代码即可。

你可以选择使用Windows凭据管理器保存这些凭据,在这种情况下,将不会再次提示你。

为了取消映射驱动器,请在Windows资源管理器中右键单击驱动器图标,然后选择断开连接。

下面是项目README中的一个演示:

cap

(二)命令行

您可以使用net use命令从命令行映射网络驱动器:

> net use X: \\sshfs\billziss@mac2018.local
The password is invalid for \\sshfs\billziss@mac2018.local.

Enter the user name for 'sshfs': billziss
Enter the password for sshfs:
The command completed successfully.

你可以列出你的网络使用驱动器:

$ net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
             X:        \\sshfs\billziss@mac2018.local
                                                WinFsp.Np
The command completed successfully.

最后,你可以按以下方式取消映射驱动器:

$ net use X: /delete
X: was deleted successfully.

(三)UNC语法

完整的UNC语法如下:

\\sshfs\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
\\sshfs.r\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
\\sshfs.k\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
  • REMUSER是远程用户(即SSHFS主机上的凭据正用于访问的用户)。
  • HOST是SSHFS主机。
  • PORT是SSHFS主机上的远程端口(可选;默认值为22)。
  • PATH是远程路径。 解释如下:
    • sshfs前缀映射到SSHFS主机上的HOST:~REMUSER/PATHREMUSER家目录的相对路径)。
    • sshfs.r前缀映射到SSHFS主机上的HOST:/PATH(即HOST根目录的相对路径,也就是绝对路径)。
    • sshfs.k前缀映射到HOST:~REMUSER/PATH并使用%USERPROFILE%/.ssh/id_rsa(其中%USERPROFILE%是本地Windows用户的家目录)中的ssh密钥。
  • LOCUSER是本地Windows用户(可选;USERNAMEDOMAIN + USERNAME格式)。
    • 请注意,对于最新版本的WinFsp,很少需要使用此功能。

四、Enjoy

你看是不是很简单?服务器端不用安装任何软件,Windows端安装两个小工具,然后输入你的用户名和密码即可!

Enjoy coding now.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows下写代码并使用 SSHFS快速部署到 Linux 进行调试 的相关文章

  • 【Java】IO流

    目录 一 File类的使用 1 File类的理解 2 File的实例化 3 File类的常用方法 4 内存解析 5 小练习 二 IO流概述 1 简述 2 流的分类 3 IO流的体系分类 4 输入 输出标准化过程 三 节点流 xff08 文件
  • 【Java】网络编程

    目录 一 概述 二 网络通讯要素 3 通讯要素一 xff1a IP和端口号 4 通信要素二 xff1a 网络通信协议 5 套接字Socket 三 TCP网络编程 1 基于Socke的TCP编程 四 UDP网络编程 1 简述 2 Datagr
  • 【Java】反射

    目录 一 反射的概述 1 反射的简介 2 反射动态性体现 3 反射机制提供的功能 4 相关API 二 Class类 1 Class简述 2 Class类的常用方法 3 获取Class实例的几种方式 xff1a 4 Class实例可以代表的结
  • 【Java】之Java8新特性

    Java 基础系列的笔记终于完成了 x1f389 x1f389 x1f389 目录 一 Lambda 表达式 1 Lamdba 表达式概述 2 使用 Lambda 表达式前后对比 3 怎样使用Lambda表达式 4 Lamdba表达式总结
  • 【Docker】基础使用

    目录 一 Docker简介 二 Docker核心概念 三 Docker安装 四 Docker常用操作 1 镜像操作 2 容器操作 3 安装MySQL 一 Docker简介 Docker 是一个开源的应用容器引擎 xff0c 基于Go 语言并
  • ASP.NET MVC | 简介

    目录 前提 1 教程 2 MVC 编程模式 最后 前提 在学习学过很多课程 xff0c 但是最主要学的还是ASP NET MVC这门课程 xff0c 工作也是用的ASP NET MVC xff0c 所以写一点ASP NET MVC的东西 x
  • ASP.NET MVC | 创建应用程序

    目录 首先 NO 1 No 2 App Data 文件夹 Content 文件夹 Controllers 文件夹 Models 文件夹 Views 文件夹 Scripts 文件夹 最后 首先 一步一步的来 xff0c 电脑上需要安装vs20
  • 关于Docker的Debian和Ubuntu镜像

    Debian和Ubuntu都是目前较为流行的Debian系的服务器操作系统 xff0c 在Docker Hub上都可以直接搜索到官方版本 一 搜索Debian 二 搜索Ubuntu Ubuntu相关镜像很多 xff0c 使用 s 参数 xf
  • ASP.NET MVC | 增删改查小项目-MySQL数据库

    目录 前提 数据库和表 完成展示 主页 xff1a Index 添加商品页面 xff1a Add 修改商品页面 xff1a Edit 删除 xff1a Del 代码 No 1 配置MySQL数据库 No 2 初始化数据 No 3 删除操作
  • 用Navicat Premium连接数据库!

    Navicat Premium介绍 Navicat Premium 是一套数据库开发工具 xff0c 让你从单一应用程序中同时连接 MySQL MariaDB MongoDB SQL Server Oracle PostgreSQL 和 S
  • 介绍一款非常好用的截图软件-《Snipaste》

    目录 Snipaste介绍 Snipaste下载 Snipaste功能介绍 总结 Snipaste介绍 非常好用的截图软件 xff0c 一句话 xff0c 非常非常好用 xff0c 比你用过任何的截图软件都好用 xff0c 不好用你顺着网线
  • 推荐一款卸载软件的小工具-《UninstallToo》

    目录 UninstallToo介绍 UninstallToo下载 UninstallToo使用 总结 UninstallToo介绍 Uninstall Tool 是一款可以用来替代 添加 删除程序 的工具 它允许您显示隐藏的安装程序 xff
  • 【MySQL】下载(超详细教程)

    目录 First 下载 Second 安装 Third 检测是否安装 Last 总结 First 下载 首先 xff0c 我们一步一步跟着我的操作来 xff0c 不能越步骤 xff0c 很容易报错 xff0c 就芭比Q了 第一步直接进入这个
  • 【ASP. Net Mvc】毕设之【在线考试项目】

    前提 这个项目是毕设 xff0c 是用asp net mvc和SQL server数据库完成的 xff0c 分为前端和后台 后台功能 xff1a 老师添加试卷 xff0c 上传试卷 xff0c 审核试卷 xff0c 管理学生 前端功能 xf
  • 继承——Person为父类,Teacher和Student都继承Person

    一 题目 按照要求完成以下操作 创建Person xff0c Teacher xff0c Student类 其中 xff0c Person为父类 xff0c Teacher和Student都继承Person Person中有属性 xff1a
  • c语言求数组中10 个整数中最大值

    c语言求数组中10 个整数中最大值 要求在数组中输入10个整数 xff0c 输出最大值 这里先用一种简单的方法 xff0c 创建一个变量max xff1d 0 xff0c 用max与这10个数依次比较 xff0c 如果比max大就把它的值赋
  • c语言详细解答辗转相除法求两个数的最小公倍数

    C语言详细解答辗转相除法求两个数的最小公倍数 1 辗转相除法的用法 最大公约数 辗转相除法是用一个大的数除以一个小的数 xff0c 如果有余数 xff0c 就用被除数 余数 xff0c 如果还有余数就继续用 xff08 上一个公式的 被除数
  • Linux 嵌入式 笔记 NFS网络文件系统

    文章目录 Linux 嵌入式 笔记 提示 xff1a 写完文章后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 文章目录前言一 nfs 相关命令二 原理1 第一点2 第二点 总结 前言 注意 xff1a
  • linux下cpu锁定频率以及频率设置

    linux下cpu锁定频率以及频率设置 环境如下 ubuntu22 04cpu为5700g 前期准备 使用工具为 xff1a cpufrequtils span class token function sudo span span cla
  • CentOS7安装xrdp(windows远程桌面连接linux)

    前提 CentOS安装桌面 xff0c 如果无桌面 xff0c 请执行 xff1a yum y groups install 34 GNOME Desktop 34 startx 方法一 配置源 yum install epel y 安装x

随机推荐

  • Linux CPU超频设置

    查看当前cpu运行频率 xff1a cat proc cpuinfo grep i cpu mhz 开始设置 xff1a cpupower c all frequency set g performance 或者 cpupower freq
  • Ozone调试经验总结

    如何查看内存 view gt memory打开内存窗口即可查看 如何读写内存 Target ReadU32 addr Target WriteU32 addr value 遇到不会的 xff0c 可以使用help命令找找看
  • 元宇宙创作者必备技能TouchDesigner

    元宇宙的资源清单又更新啦 github com shadowcz007 awesome metaverse 感谢ML211 提供线索metaworld app 感谢ML1462 提供线索 The Sims Resource opus Git
  • 栈的入栈和出栈的顺序规律

    栈的入栈和出栈的顺序规律是先进后出 xff0c 所以出栈的可能数目跟入栈的可能排列数目是一致的 a的出入有2中可能 xff0c b的出入有2种可能 xff0c c的出入有2种可能 xff0c d只需要关系入 xff0c 只有一种可能 所以出
  • TCP和UDP协议发送数据包的大小

    在进行UDP编程的时候 我们最容易想到的问题就是 一次发送多少bytes好 当然 这个没有唯一答案 xff0c 相对于不同的系统 不同的要求 其得到的答案是不一样的 这里仅对像ICQ一类的发送聊天消息的情况作分析 xff0c 对于其他情况
  • Nodejs开发:如何让node app的程序一直运行?

    情境 运行nodejs的程序 xff0c 使用命令 xff1a node xxx js xff0c 但是关掉终端 xff0c 程序也关闭了 xff0c 如何让node app的程序一直运行 xff1f 解决 1 安装forever npm
  • Godot基础教程02:全都是节点

    在这里先劝退一波人 xff1a 本教程只会涉及2D内容 xff0c 不会涉及3D内容 创建节点 接上一章 xff0c 在左侧的场景面板中 xff0c 可以看到 xff1a 由于本教程只讲2D内容 xff0c 所以这里我们应该选择2D场景 x
  • docker安装gitlab-ce镜像,使用其他端口,亲测可用

    首先鄙视一下那些直接复制粘贴当自己博文的 xff0c 误导别人 xff0c 害我改了好久T T 安装步骤 xff1a 创建数据目录 mkdir p data gitlab config mkdir p data gitlab logs mk
  • iOS 录音,播放,转码MP3,上传语音文件

    语音文件 AVAudioRecorder recorder NSTimer timer NSString urlPlay BOOL isPlay pragma mark 61 61 61 61 61 61 61 61 61 语音文件 61
  • CentOS使用yum安装MySQL5.7报检索密钥错误解决方法

    在CentOS上使用yum安装MySQL时检索密钥错误的解决方法 参考 使用yum安装MySQL时报错 yum y install mysql mysql server yum y install mysql community serve
  • 安装django

    使用pip安装 pip install django 61 61 span class hljs string 39 1 8 39 span 检查django版本 python c span class hljs string 39 imp
  • python,pycharm报错 ModuleNotFoundError: No module named PIL最简单的解决方法

    python pycharm报错 ModuleNotFoundError No module named 39 PIL 最简单的解决方法 1进入cmd命令 2输入pip install Pillow即可 如图 如果对你有帮助 xff0c 请
  • docker中使用Ubuntu中文乱码问题解决

    一 前言 最近在docker中使用Ubuntu作为编译环境 xff0c 遇到了中文乱码情况 xff0c 分为不同的解决场景 xff0c 下面分别给出解决方法 下面的方法都不是将系统的语言修改为中文 xff0c 而是能够正确显示和输入中文 g
  • 在docker的centos镜像中使用systemctl启动slapd服务报错

    前言 使用docker搭建服务环境 xff0c 拉取了一个Centos7镜像 xff0c 在镜像中使用systemctl命令启动sladpd服务 xff0c 已经使用 privileged 61 true启用特权模式 xff0c 但还是报错
  • 逻辑卷管理器(LVM)

    一 什么是LVM xff1f LVM Logical Volume Manager 逻辑卷管理是在Linux2 4内核以上实现的磁盘管理技术 它是Linux环境下对磁盘分区进行管理的一种机制 现在不仅仅是Linux系统上可以使用LVM这种磁
  • Ubuntu使用Docker搭建编译环境完整教程

    前言 因为只有一台编译服务器 xff0c 但是我们需要在服务器上搭建不同的编译环境 xff0c 不同的编译环境区别巨大 xff0c 甚至可能需要是不同的Ubuntu版本 xff0c 所以我们可以使用Docker xff0c 搭建不同的编译环
  • 最新Gerrit2.16.15版本用户指南-中文文档

    这是为Gerrit最终用户准备的Gerrit指南 它说明了标准的Gerrit工作流程以及指导用户可以根据个人喜好来设置并使用Gerrit 为了更好地理解本指南 xff0c 读者最好了解Git xff0c 并熟悉基本的git命令和工作流程 什
  • Ubuntu 14.04安装Sambaf服务并设置为开机启动

    1 需求 我的需求是将Ubuntu服务器上的用户目录 xff08 比如 home yasin xff09 映射给Windows访问 xff0c 这样就可以在Windows下编辑代码 xff0c 修改完成后在Linux环境编译 2 安装 sp
  • Git Commit message编写指南

    一 Commit message 的作用 格式化的Commit message xff0c 有几个好处 1 提供更多的历史信息 xff0c 方便快速浏览 比如 xff0c 下面的命令显示上次发布后的变动 xff0c 每个commit占据一行
  • Windows下写代码并使用 SSHFS快速部署到 Linux 进行调试

    前言 很多时候 xff0c 因为不熟悉vim或者更喜欢Windows下的一些IDE xff0c 我们需要在Windows写代码并部署到Linux服务器上进行调试 相信很多程序员都有这个需求 xff0c 也有很多自己的解决方法 常见的有使用G