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.rhkb.cn/news/376915.html

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

相关文章

4000厂商默认账号密码、默认登录凭证汇总.pdf

获取方式: 链接:https://pan.baidu.com/s/1F8ho42HTQhebKURWWVW1BQ?pwdy2u5 提取码:y2u5

【总线】AXI第九课时:介绍AXI响应信号 (Response Signaling):RRESP和 BRESP

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣,那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者,AXI4以其高性能和高度可扩展性,成为了现代电子系统中不可或缺的通信桥梁…

28.【C语言】库函数

1.函数定义 在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏…

AC修炼计划(AtCoder Regular Contest 180) A~C

A - ABA and BAB A - ABA and BAB (atcoder.jp) 这道题我一开始想复杂了,一直在想怎么dp,没注意到其实是个很简单的规律题。 我们可以发现我们住需要统计一下类似ABABA这样不同字母相互交替的所有子段的长度,而每个字段的的情况有&#xff…

目标检测基本标注工具-labelImg安装与使用

🍉一、安装 1.1 打开conda创建虚拟环境🎈 conda create -n labelImg python3.8 -y 1.2 激活labelImg虚拟环境🎈 activate labelImg1.3 安装labelImg🎈 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lab…

Rust vs Go: 特点与应用场景分析

目录 介绍Rust的特点Go的特点Rust的应用场景Go的应用场景总结 介绍 Rust和Go(Golang)是现代编程语言中两个非常流行的选择。凭借各自的独特优势和广泛的应用场景,吸引了大量开发者的关注。本文将详细介绍Rust和Go的特点,并探讨它…

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

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

python的简单爬取

需要的第三方模块 requests winr打开命令行输入cmd 简单爬取的基本格式(爬取百度logo为例) import requests url"http://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" resprequests.get(url)#回应 #保存到本地 with open(&…

C语言之指针的奥秘(三)

一、字符指针变量 在指针的类型中&#xff0c;有字符指针char*&#xff0c;一般使用&#xff1a; #include<stdio.h> int main() {char ch w;char* p &ch;*p w;return 0; } 还有一种方式&#xff1a; #include<stdio.h> int main() {const char* p &qu…

[Vulnhub] Sedna BuilderEngine-CMS+Kernel权限提升

信息收集 IP AddressOpening Ports192.168.8.104TCP:22, 53, 80, 110, 111, 139, 143, 445, 993, 995, 8080, 55679 $ nmap -p- 192.168.8.104 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 …

强化学习编程实战-5 基于时间差分的方法

第4章中&#xff0c;当模型未知时&#xff0c;由于状态转移概率P未知&#xff0c;动态规划中值函数的评估方法不再适用&#xff0c;用蒙特卡洛的方法聘雇值函数。 在蒙特卡洛方法评估值函数时&#xff0c;需要采样一整条轨迹&#xff0c;即需要从初始状态s0到终止状态的整个序列…

“论软件维护方法及其应用”写作框架,软考高级论文,系统架构设计师论文

论文真题 软件维护是指在软件交付使用后&#xff0c;直至软件被淘汰的整个时间范围内&#xff0c;为了改正错误或满足 新的需求而修改软件的活动。在软件系统运行过程中&#xff0c;软件需要维护的原因是多种多样的&#xff0c; 根据维护的原因不同&#xff0c;可以将软件维护…

DockerSecret+DockerConfig介绍及使用

DockerSecret 查看官网介绍&#xff0c;Secret是daemon API 1.25之后引入的&#xff0c;它运行在swarm上的命令。 生产环境下&#xff0c;为了安全&#xff0c;我们不能把各项目的配置密码写入到配置文件。 我们可以引入docker的secret方式保护密码。 场景&#xff1a; 用…

数据结构之链表操作详解与示例(反转链表,合并链表,旋转链表,对链表排序)

文章目录 1. 反转链表2. 合并链表3. 旋转链表4. 对链表排序总结 链表是一种常见的基础数据结构&#xff0c;它在内存中的存储方式非常灵活。本文将详细介绍反转链表、合并链表、旋转链表以及对链表排序这四种操作&#xff0c;并提供C和C的实现示例。 1. 反转链表 反转链表意味…

【数学建模】——【线性规划】及其在资源优化中的应用

目录 线性规划问题的两类主要应用&#xff1a; 线性规划的数学模型的三要素&#xff1a; 线性规划的一般步骤&#xff1a; 例1&#xff1a; 人数选择 例2 &#xff1a;任务分配问题 例3: 饮食问题 线性规划模型 线性规划的模型一般可表示为 线性规划的模型标准型&…

AI大模型探索之旅:深潜大语言模型的训练秘境

在人工智能的浩瀚星空中&#xff0c;大语言模型无疑是最耀眼的星辰之一&#xff0c;它们以无与伦比的语言理解与生成能力&#xff0c;引领着智能交互的新纪元。本文将带您踏上一场探索之旅&#xff0c;深入大语言模型的训练秘境&#xff0c;揭开其背后复杂而精妙的全景画卷。 …

免杀笔记 ----> 动态调用

前一段时间不是说要进行IAT表的隐藏吗&#xff0c;终于给我逮到时间来写了&#xff0c;今天就来先将最简单的一种方式 ----> 动态调用&#xff01;&#xff01;&#xff01; 1.静态查杀 这里还是说一下我们为什么要对他进行隐藏呢&#xff1f;&#xff1f;&#xff1…

CAN总线学习

can主要用于汽车、航空等控制行业&#xff0c;是一种串行异步通信方式&#xff0c;因为其相较于其他通信方式抗干扰能力更强&#xff0c;更加稳定。原因在于CAN不像其他通信方式那样&#xff0c;以高电平代表1&#xff0c;以低电平代表0&#xff0c;而是通过电压差来表示逻辑10…

STM32MP135裸机编程:唯一ID(UID)、设备标识号、设备版本

0 资料准备 1.STM32MP13xx参考手册1 唯一ID&#xff08;UID&#xff09;、设备标识号、设备版本 1.1 寄存器说明 &#xff08;1&#xff09;唯一ID 唯一ID可以用于生成USB序列号或者为其它应用所使用&#xff08;例如程序加密&#xff09;。 &#xff08;2&#xff09;设备…

使用Python和MediaPipe实现手势虚拟鼠标控制

概述 使用Python实现虚拟鼠标控制&#xff0c;利用手势识别来替代传统鼠标操作。这一实现依赖于计算机视觉库OpenCV、手势识别库MediaPipe以及其他辅助库如PyAutoGUI和Pynput。 环境配置 在开始之前&#xff0c;请确保已安装以下Python库&#xff1a; pip install opencv-p…