Windows终端远程登陆Linux服务器(SSH+VScode)

W i n d o w s 终端远程登陆 L i n u x 服务器( S S H + V S c o d e ) \huge{Windows终端远程登陆Linux服务器(SSH+VScode)} Windows终端远程登陆Linux服务器(SSH+VScode

文章目录

  • 写在前面
  • 通过SSH远程连接Linux服务器
    • 安装SSH客户端
    • 安装SSH服务端
    • 通过SSH登陆服务器
      • 正常登陆
      • 使用别名登陆
    • 免密登陆
      • 生成本地密钥
      • 复制公钥到Linux
  • 使用VScode远程连接Linux进行二次开发
    • 远程登陆
    • 优缺点

写在前面

软件开发以来Linux系统可以说是非常普遍,而远程连接Linux服务器进行开发和维护更是成为一种常态,但对于业余选手来说,通常大家使用的都是Windows系统。本文将从0开始讲解如何使用Windows系统进行远程登陆Linux服务器,以及使用VScode进行开发。

通过SSH远程连接Linux服务器

SSH(Secure Shell)是一种网络协议,用于加密方式远程登录到服务器。

安装SSH客户端

Windows 10及以上版本自带了OpenSSH客户端。

安装SSH服务端

在服务器端安装 OpenSSH,需要在服务器终端进行。

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

通过SSH登陆服务器

正常登陆

ssh User@IP # User 是用户 IP 是服务器地址

使用别名登陆

通过修改Windows终端中的配置文件实现。

Windows终端中的配置文件一般都在C:\Users\UserName\.ssh目录中。然后我们用记事本打开config文件(没有就新建),或者使用命令code config打开。在文件中添加如下内容:

Host Server_1
HostName IP
User root
IdentitiesOnly yes

其中:

  1. Host 后边的是名称,以后可以根据这个名称进行访问;
  2. HostName是你的主机IP地址;
  3. User为主机登录的用户名;
  4. IdentitiesOnly yes固有配置;

然后我们在远程登陆服务器时就可以使用Server_1来代替User@IP

免密登陆

如果我们想要免密在本地Windows终端登陆服务器,需要做的事是:将本地公钥告诉给想要免密登陆的服务器。具体做法如下:

生成本地密钥

ssh keygen

这是会在本地.ssh文件中生成密钥文件,地址通常为:C:\Users\UserName\.ssh,文件夹中的id_rsa是私钥(切记不可泄露!!!),id_rsa.pub是公钥,也就是我们需要的。

复制公钥到Linux

id_rsa.pub中的内容复制到Linux的用户根目录的~/.ssh/authorized_keys,如果文件中不为空,则复制到后面即可,但要有间隔。

使用VScode远程连接Linux进行二次开发

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

远程登陆

  • 步骤1: 安装 Remote-SSH 插件。第一次使用VS Code 需要在左侧插件栏搜索 Remote-SSH 并安装。

    image-20240714120456981

  • 步骤2: 左下角 Open a remote window 然后选择 Connect to Host

    image-20240714120642043

  • 步骤3: 执行 ssh 登陆。 如下图所示,这里有两种选择:

    image-20240714120901153

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

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

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

      Host Server_1
      HostName IP
      Port 22
      User root
      IdentitiesOnly yes
      
  • 步骤4: 配置好后再重新按照步骤1进行登陆,发现登陆名称中多了刚才新建的ACMserver,点击进去,首先需要选择远程服务器的类型Linux,然后输入你的账号密码。

    image-20240714134502339

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

    image-20240714134734162

优缺点

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

参考文章:https://blog.csdn.net/u010522887/article/details/138187926

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

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

相关文章

golang程序性能提升改进篇之文件的读写---第一篇

背景:接手的项目是golang开发的(本人初次接触golang)经常出现oom。这个程序是计算和io密集型,调用流量属于明显有波峰波谷,但是因为各种原因,当前无法快速通过serverless或者动态在高峰时段调整资源&#x…

「邀您参会」首个中国可观测日即将盛大开幕

在云计算领域不断探索与创新的背景下,亚马逊云科技与观测云今日宣布,将联合举办中国可观测日(Observability Day)活动,旨在深化双方合作,共同推动中国可观测性的发展。 中国站首站,选址上海&am…

软件测试——非功能测试

工作职责: 1.负责产品系统测试,包括功能测试、性能测试、稳定性测试、用户场景测试、可靠性测试等。 2.负责测试相关文档的编写,包括测试计划、测试用例、测试报告等。 3.负责自动化测试框架、用例的维护。 岗位要求: 1.熟练…

【启明智显方案分享】工业级HMI芯片MODEL3\MODEL4应用于电梯系统多媒体

一、方案概述 本方案采用工业级HMI芯片MODEL3或MODEL4作为核心处理器,结合7寸以上高清显示屏,为电梯系统提供多媒体解决方案。该方案不仅能够显示日期、时间、楼层信息等基础信息,还能播放广告、通知、视频等多媒体内容,增强电梯…

HTTPS请求头缺少HttpOnly和Secure属性解决方案

问题描述: 建立Filter拦截器类 package com.ruoyi.framework.security.filter;import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.…

友讯随身WiFi和格行随身WiFi真实测评!彩屏款随身WiFi谁更胜一筹?随身WiFi哪个最好用?随身WiFi哪个口碑最好?哪个性价比更高?

在众多随身WiFi品牌中,友讯(D-Link)与格行(Gexing)都是彩屏款随身WiFi因其相似的设计和各自独特的品牌背景,常常让消费者难以抉择。今天,我们就来一场真实测评,深入剖析这两款彩屏随…

求解答word图标变白

把WPS卸载了之后就变成白色了,然后在注册表中把word的地址改成office word的地址之后图标变成这样了,怎么办

Talk|清华大学袁天远:PreSight - 利用NeRF先验帮助自动驾驶场景在线感知

本期为TechBeat人工智能社区第605期线上Talk。 北京时间7月3日(周三)20:00,清华大学博士生—袁天远的Talk已经准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “PreSight - 利用NeRF先验帮助自动驾驶场景在线感知”,他向大家介绍了新…

【XSS】

文章目录 0x01 简介0x02 XSS Payload用法XSS攻击平台及调试JavaScript 0x03 XSS构造技巧XSS漏洞防御策略 跨站脚本攻击,Cross Site Script。(重点在于脚本script) 分类 反射型、存储型DOM型 漏洞原理:通过插入script篡改“HTML”…

AI 生成时代,现有编程语言还够用吗?

7月14日下午,知乎「AI 先行者沙龙」在深圳南山举行,本次沙龙以 “探航” 为主题,粤港澳大湾区数字经济研究院基础软件中心首席科学家、MoonBit 平台负责人张宏波受邀发表主旨演讲——《AI 生成时代,现有编程语言还够用吗&#xff…

PyTorch论文

2019-12 PyTorch: An Imperative Style, High-Performance Deep Learning Library 设计迎合4大趋势: 1. array-based (Tensor) 2. GPU加速 3. 自动求导 (Auto Differentiation) 4. 拥抱Python生态 4大设计原则: 1. 使用算法和数据开发者熟悉的Python做编…

华为USG6000V防火墙NAT智能选举

目录 一、拓扑图 二、要求 三、配置思路及方法 要求1:通过多对多的NAT实现上网功能 思路:基础IP地址配置按照之前的进行配置,接着在策略里配置多对多的NAT 要求2:分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的…

stm32入门-----GPIO口输入的学习与使用

目录 前言 一、硬件介绍 1.按键 2.传感器模块 二、按键控制LED灯亮灭 1.电路连线图 2. 工程文件添加 3.GPIO口读取函数介绍 (1)输入数据的读取 (2)输出数据的读取 4.代码编写 (1)按键模块 …

智能制造 v3.13.16 发布,ERP、MES 更新

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

java:aocache 与Spring Aop兼容问题

本文适用于所有AspectJ与Spring AOP混用的场景。 Spring AOP 是基于动态代理的实现AOP,基于 JDK代理和CGLib代理实现运行时织入(runtime weaving)。 Spring AOP的切面定义沿用了ASpectJ的注解体系,所以在Spring体系中注解定义切面…

this关键字、static关键字(静态变量、静态方法、静态代码块)、代码块、包

一、this关键字 1、使用区域:定义类时在类的方法中使用,包括构造方法和成员方法 2、特点:表示Java程序运行时正在调用此方法的对象 3、使用范围: (1)引用当前对象中的成员变量 典例:用于区…

MySQL-事务、日志

事务 特性 原子性 是指事务开始后,必须成功执行完所有的操作才会结束,否则会回滚到事务刚开始前。 拿转账来说,一个成功的 A向B转账100元的过程 会涉及如下过程: A:从数据库读取A的余额;A的余额-100&am…

QT小细节

QT小细节 1 QTextToSpeech1.1 cmake1.2 qmake QT6 6.7.2 1 QTextToSpeech 从下图可以看到,分别使用qmake或者cmake编译情况下的,QTextToSpeech的使用方法 QTextToSpeech官方链接,也可以直接在QT Creator的帮助中搜索 1.1 cmake 将上图中的…

ArkUI组件——循环控制/List

循环控制 class Item{name: stringprice:number}private items:Array<Item> [new Item("A0",2399),new Item("BE",1999),new Item("Ro",2799)] ForEach(this.items,(item:Item) > {})List组件 列表List是一种复杂的容器&#xff0c;…

微信小程序新建项目发现导航条不见了,及如何找回。

原因是现在小程序新建用的是 Skyline 渲染引擎 开启全局Skyline渲染引擎&#xff0c;因为Skyline不支持原生导航栏&#xff0c;所以就没显示原生导航栏了。 解决方法也很简单 app.json文件中的 “renderer”: “skyline”, 修改为 “renderer”:“webview”app.json文件中的…