【保姆级教程】Windows 远程登陆 Linux 服务器的两种方式:SSH + VS Code,开发必备

0. 前言

很多情况下代码开发需要依赖 Linux 系统,远程连接 Linux 服务器进行开发和维护已成为一种常态。对于使用Windows系统的开发者来说,掌握如何通过 SSH 安全地连接到 Linux 服务器,并利用 VS Code 编辑器进行开发,是一项必备的技能。对于没有服务器的同学,可以参考笔者之前的文章 Windows上安装Linux子系统,搞台虚拟机玩玩 准备一个 Linux 环境。

本文将详细介绍两种在 Windows 下远程登陆 Linux 服务器的方法:SSH 命令行和 VS Code 远程开发。

1. 远程登陆的两种方式

1.1 SSH远程连接Linux服务器

SSH(Secure Shell)是一种网络协议,用于加密方式远程登录到服务器。以下是通过SSH连接Linux服务器的基本步骤:

  1. 安装SSH客户端:Windows 10及以上版本自带了OpenSSH客户端

  2. 安装SSH服务端:在服务器端安装 OpenSSH,需要在服务器终端进行。

    # 安装 ssh
    sudo apt install openssh-server
    # 安装完成后一般会自动启动,通过如下命令检查 ssh 是否已经启动
    sudo systemctl status ssh
    # 如果没有启动,需要启动 ssh 服务
    sudo systemctl start ssh
    # 如果要停止 ssh 服务
    sudo systemctl stop ssh
    
  3. 通过SSH登陆服务器:ssh 登陆服务器一般有两种方式:

  • 使用密钥认证:参考笔者之前的文章 Windows上安装Linux子系统,搞台虚拟机玩玩 中对密钥认证步骤的分享,简言之,主要分为以下两步:
    首先,Windows 本地生成SSH密钥对。下载并安装Git for Windows,然后打开Git Bash终端:在终端中执行命令 ssh-keygen ,这时会在本地 .ssh 文件夹中生成了密钥文件, .ssh 文件夹一般保存在 C 盘,比如我的是 C:\Users\12243\.ssh,文件夹下 id_rsa 是私钥,id_rsa.pub 是公钥。
    然后,复制公钥到 Linux 服务器。将id_rsa.pub中的内容复制到 Linux 的你的用户根目录 ~/.ssh/authorized_keys 文件中。

    mkdir ~/.ssh
    cd ~/.ssh
    echo xxx_in_your_id_rsa_pub >> authorized_keys
    
  • 使用密码认证:这种方式比较简单,唯一的缺点就是每次登陆都需要输入你的账号密码。
    不管采用以上哪种方式,都可以参考如下命令在终端执行登陆,唯一的区别是第一种方式不需要输入密码:

    ssh your_user_name@172.17.4.63
    

1.2 使用VS Code进行远程开发

VS Code(Visual Studio Code)是一个功能强大的编辑器,支持远程开发。以下是使用VS Code连接Linux服务器的步骤:

1.2.1 安装VS Code

首先需要在本地 Windows 电脑上下载并安装最新版的 VS Code,下载地址见 官网。安装流程可以参考笔者之前的文章Windows 环境准备 - Conda 和 VS code 安装

1.2.2 远程登陆

VS Code 访问服务器需要在本地进行一番配置后,然后执行 ssh 登陆,具体而言,可以分为以下几个步骤:

  • Step 1: 安装 Remote-SSH 插件。第一次使用VS Code 需要在左侧插件栏搜索 Remote-SSH 并安装。
    在这里插入图片描述

  • Step 2: 左下角 Open a remote window 然后选择 Connect to Host。
    在这里插入图片描述

  • Step 3: 执行 ssh 登陆。 如下图所示,这里有两种选择:
    在这里插入图片描述

    • Add New SSH Host,也就是新建一个 Host :如果只是偶尔登陆这个 host ,可以选择这种方式

    • Configure SSH Hosts,也就是配置一个 Host:如果需要经常登陆,可以新建一个配置文件,这样每次登陆直接选择对应的 Host 名称就可以了,这里的配置文件一般在 C 盘用户目录下,比如我的就在 C:\Users\12243\.ssh\config。在config 文件中填入如下信息:Host 就是后续登陆使用的名称,HostName是服务器的 IP 地址,一般 SSH 对应的端口号 Port 是22 ,User 是你在服务器上注册的用户名。

      Host 配置好后,再执行 SSH 登陆时,只需要终端输入Host 名称即可,比如我这里的就是ssh cvlab ,等同于之前的 ssh your_user_name@172.17.4.63

      Host cvlabHostName 10.18.32.170 Port 22User xxx
      
  • Step 3: 配置好后再重新按照 Step 1 进行登陆,发现登陆名称中多了刚才新建的 cvlab ,点击进去,首先需要选择远程服务器的类型-Linux,然后输入你的账号密码。注:如果你之前应该采用了密钥认证,那么这一步就不需要输入密码了。
    在这里插入图片描述

  • Step 4:首次登陆会自动在服务器端安装 VS Code server,如果账号密码都没问题的话,就可以登陆成功了,按 Ctrl + ~ 键打开终端,可以发现现在已经进入服务器的环境了,接下来的操作就和你在本地机器上一样。
    在这里插入图片描述

1.3 方法对比

  • SSH命令行:适合需要执行命令行操作的场景,对于脚本编写和快速命令执行非常有效。
  • VS Code远程开发:适合需要图形界面和复杂编辑功能的场景,尤其是代码编辑、调试和版本控制。

结语

无论是通过SSH命令行还是VS Code,都能实现Windows系统下对Linux服务器的远程连接和开发。选择哪种方法取决于你的具体需求和偏好。至此,Windows 连接 Linux服务器的教程就结束了,实践是掌握技能的最好方式,不妨现在就开始尝试连接你的Linux服务器吧!

如果对你有帮助的话,不妨 关注 点赞 支持一下啊~ 带你了解更多 Linux + AI 开发的干货~

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

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

相关文章

海外问卷调查这个项目怎么样?

大家好,我是橙河老师,今天讲一讲海外问卷调查这个项目怎么样?我自己做这个项目已经有三四年的时间了,在这个行业里算是资深玩家,我自己的工作室也一直稳定在操作这个项目,首先可以肯定的是,这个…

<数据集>棉花识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:13765张 标注数量(xml文件个数):13765 标注数量(txt文件个数):13765 标注类别数:4 标注类别名称:[Partially opened, Fully opened boll, Defected boll, Flower] 序…

甄选范文“论企业集成架构设计及应用”软考高级论文,系统架构设计师论文

论文真题 论企业集成架构设计及应用企业集成架构(Enterprise Integration Arhitecture,EIA) 是企业集成平台的核心,也是解决企业信息孤岛问题的关键。企业集成架构设计包括了企业信息、业务过程、应用系统集成架构的设计。实现企业集成的技术多种多样,早期的集成方式是通过…

仕考网:公务员可以报考军队文职吗?

公务员可以报考军队文职考试,但是需要满足前提条件。 对于已经与国家、地方的用人单位建立劳动关系的社会人才,在获得当前用人单位的许可后才可以申请报考。 在面试过程中,考生必须出示一份由其用人单位出具的且加盖公章的同意报考证明。一…

远程文件下载

在本机启动 http 服务,在你要下载文件的目录下输入 cmd ,运行 python -m http.server前提条件:本机安装了 python 服务。 查看本机 IP(无线局域网 IP),重新开一个窗口,查看本机 IP 地址。 ipc…

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation 一、前言Abstract1 Introduction2 Related Work3 Methodology3.1 Preliminary of Latent Diffusion Models3.2 The model variants of Latte3.3 The empirical analysis of Latte3.3.1 Latent video c…

C语言 ——— 函数指针数组的讲解及其用法

目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见:C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中,这个数组该如何定义…

C++中的依赖注入

目录 1.概述 2.构造函数注入 3.setter方法注入 4.接口注入 5.依赖注入框架 6.依赖注入容器 7.依赖注入框架的工作原理 8.依赖注入的优势 9.总结 1.概述 依赖注入是一种设计模式,它允许我们在不直接创建对象的情况下为对象提供其依赖项;它通过将…

云仓技术带来的物流变革影响

1、实时可视性: 云仓技术使物流公司能够实时跟踪和监控货物在供应链中的位置和状态。这种实时可视性提供了更好的货物追踪和管理能力,同时也提高了客户服务的质量。 ———————————————————— 2、仓储优化: 云仓技术可以…

从0开始搭建vue + flask 旅游景点数据分析系统(四):编写前端首页【数据驾驶舱】

本期我们编写数据驾驶舱页面(Dashboard)这个页面。主要任务是引入echarts 组件编写数据驾驶舱页面。 视频教程后续会更新在我的B站:https://space.bilibili.com/1583208775?spm_id_from666.25.0.0 推荐从教程第一集开始从零开始学习:https://blog.csdn…

实验室责任人员管理保障实训系统安全

在智慧校园的实训管理生态中,实验室责任人员的角色犹如精密机器中的关键齿轮,他们不仅是实验室安全与高效运转的守护者,更是实训教学质量的直接塑造者。这一角色的重要性,在智慧校园的数字化转型中得到了前所未有的凸显&#xff0…

Linux系统配置STM32的开发环境(代码编辑,编译,下载调试)

常见的stm32开发都是直接使用keil-MDK工具的,这是个集成开发环境,包含了代码编辑,编译,下载,调试,等功能,而且keil还是个图形化操作工具,直接可以点击图标案件就可以实现编译下载啥的…

Tableau入门|数据可视化与仪表盘搭建

原视频链接(up:戴戴戴师兄),文章为笔者的自学笔记,用于复习回顾,原视频下方有原up整理的笔记,更加直观便捷。因为视频中间涉及的细节较多,建议一边操作,一边学习。 整体介绍 可视化…

set,map(java)

前言:要了解set和map,首先需要对搜索树和哈希有一定的了解,才能进一步深入的了解set和map。 1.搜索树 (1)性质: 若它的左子树不为空,则左子树上所有节点值都小于根节点的值。 若它的右子树不…

【单机锁】实现原理

文章目录 1.互斥锁 sync.Mutex 的实现原理;1.1获取策略有如下两种:1.2sync.Mutex的方案1.2.1具体方案如下:1.2.2转换的条件:1.2.3运行的两种模式:1.2.4两种模式的转换条件1.2.5唤醒标识: 1.3源码走读 2. sy…

猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案

🐯 猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案 💻 摘要 在本篇博客中,我们将深入探讨如何解决PyTorch中常见的“ModuleNotFoundError: No module named ‘torch’”错误。通过详细的步骤指…

差分法求解 Burgers 方程(附完整MATLAB 及 Python代码)

Burgers 方程的数值解及误差分析 引言 Burgers 方程是一个非线性偏微分方程,在流体力学、非线性声学和交通流理论中有广泛应用。本文将通过数值方法求解带粘性的 Burgers 方程,并分析其误差。 方程模型 Burgers 方程的形式为: u t u u …

Jmeter下载、安装、永久汉化(Windows环境)

1、JDK下载 JDK8下载地址https://www.oracle.com/java/technologies/downloads/#java8-windows JDK8的Windows的64位: 2、Jmeter下载 jmeter下载地址https://jmeter.apache.org/download_jmeter.cgi 3、配置环境变量 安装好后,把jdk和jmeter都配置到…

Docker从入门到实践教程(电子版)

前言 Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的 分发、测试、部署和分发都变得前所未有的高效和轻松! 本电子书既适用于具备基础 Linux 知识的 Docker 初学者,也…

隧道可视化:实时监控保障行车安全

通过图扑可视化实现隧道的实时监控、数据分析及智能报警系统,提供全面的隧道管理和决策支持,提升行车安全,优化维护策略,确保交通顺畅。