VSCode远程连接Ubuntu/Linux


前言

在现代开发环境中,远程工作和跨平台开发变得越来越普遍。Visual Studio Code(VSCode)作为一个流行的代码编辑器,提供了强大的远程开发功能,使得开发者能够高效地连接和管理远程 Linux 服务器上的项目。通过 VSCode 的远程开发扩展,开发者可以在本地编辑代码,同时在远程 Ubuntu/Linux 服务器上执行和调试,享受本地开发的便捷和远程系统的强大计算资源。本文将介绍如何配置 VSCode 以远程连接到 Ubuntu/Linux 服务器,并展示如何利用这一功能提升开发效率。


SSH(Secure Shell)简介

SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地访问远程计算机。它提供了一个加密的通信通道,确保数据在传输过程中的保密性和完整性。SSH 被广泛用于远程登录、执行命令、文件传输等操作,是现代网络安全的重要组成部分。

主要功能

  1. 远程登录

    • SSH 允许用户安全地远程登录到另一台计算机,并在该计算机上执行命令,就像在本地计算机上一样操作。
  2. 安全文件传输

    • 通过 SCP(Secure Copy Protocol)或 SFTP(Secure File Transfer Protocol),SSH 支持安全的文件传输。用户可以安全地从本地计算机向远程计算机传输文件,或从远程计算机下载文件。
  3. 端口转发

    • SSH 支持端口转发功能,允许用户将本地计算机的端口转发到远程计算机的端口,从而实现安全的网络访问。这在访问受限网络服务时特别有用。
  4. 隧道加密

    • SSH 可以通过创建加密隧道来保护通过不安全网络传输的数据,这对于保护敏感信息非常重要。
  5. 身份验证

    • SSH 支持多种身份验证方式,包括基于密码和基于密钥的身份验证。基于密钥的身份验证提供了更高的安全性,因为它避免了密码在网络中传输的风险。

工作原理

  1. 建立连接

    • 客户端和服务器通过 SSH 协议进行握手,建立加密连接。服务器将自己的公钥发送给客户端,客户端使用该公钥加密随机生成的会话密钥,并将其发送给服务器。
  2. 身份验证

    • 客户端通过输入密码或提供密钥进行身份验证。如果身份验证成功,客户端和服务器之间的通信就会使用加密的会话密钥进行保护。
  3. 数据传输

    • 一旦建立了安全的连接,所有的通信数据都会经过加密,确保数据的保密性和完整性。

常见的 SSH 客户端和服务器

  • SSH 客户端

    • OpenSSH:开源的 SSH 实现,支持多种操作系统,包括 Linux、macOS 和 Windows。
    • PuTTY:Windows 平台上的流行 SSH 客户端,提供图形用户界面和命令行界面。
  • SSH 服务器

    • OpenSSH Server:广泛使用的开源 SSH 服务器,通常预装在 Linux 和 macOS 系统中。
    • Dropbear:轻量级的 SSH 服务器,适用于资源受限的环境,如嵌入式系统。

Ubuntu安装ssh

在 Ubuntu 上安装 SSH 服务,可以使用 apt 包管理器来完成。通常,安装 SSH 服务涉及到安装 OpenSSH 服务器。以下是具体的步骤:

  1. 更新软件包列表

    打开终端并运行以下命令,以确保你的软件包列表是最新的:

    sudo apt update
    
  2. 安装 OpenSSH 服务器

    运行以下命令安装 OpenSSH 服务器:

    sudo apt install openssh-server
    

    这个命令会安装 OpenSSH 服务器及其相关依赖,使你能够通过 SSH 协议访问你的 Ubuntu 系统。

  3. 检查 SSH 服务状态

    安装完成后,你可以检查 SSH 服务是否正在运行:

    sudo systemctl status ssh
    

    你应该会看到服务状态信息,如果服务正在运行,状态应该显示为“active (running)”。

  4. 启动或重启 SSH 服务(如果需要):

    如果 SSH 服务没有自动启动,或者你对 SSH 配置进行了更改,需要重新启动服务,可以使用以下命令:

    sudo systemctl start ssh
    sudo systemctl enable ssh
    
    • sudo systemctl start ssh:启动 SSH 服务。
    • sudo systemctl enable ssh:设置 SSH 服务在系统启动时自动启动。
  5. 检查防火墙设置(如果有防火墙):

    如果你启用了防火墙(例如 ufw),你需要允许 SSH 流量通过:

    sudo ufw allow ssh
    

    或者,允许端口 22(默认的 SSH 端口):

    sudo ufw allow 22
    

    最后,检查防火墙状态,确保规则已生效:

    sudo ufw status
    

完成这些步骤后,你的 Ubuntu 系统应该能够接受 SSH 连接。你可以从另一台计算机使用 SSH 客户端连接到你的 Ubuntu 系统,例如:

ssh username@hostname_or_ip_address

这里 username 是你的 Ubuntu 用户名,hostname_or_ip_address 是 Ubuntu 系统的主机名或 IP 地址。

vscode远程插件

安装远程插件

在插件栏搜索remote下载第二个Remote - SSH
在这里插入图片描述
下载完之后我们可以看到这个:
在这里插入图片描述
这样就是ok了

开始远程连接

在开始连接之前你需要先确定你的ubuntu是否开启ssh

点击远程图标:
在这里插入图片描述
选择连接到主机
在这里插入图片描述
选择添加新的ssh主机
在这里插入图片描述
输入主机信息
在这里插入图片描述
它的规范为:主机名@ip地址:ssh端口号,主机名可以在ubuntu终端看到xxx@yyy其中@前面的为主机名也就是xxx,ip地址在终端输入ifconfig即可看到。端口号默认为22
在这里插入图片描述
回车,然后选择第一个:
在这里插入图片描述
点击连接
在这里插入图片描述
在新的窗口里面输入你的密码:
在这里插入图片描述
这样就是ok了:
在这里插入图片描述

打开文件夹

按照下面的步骤即可打开文件夹,然后你需要去选择你要打开文件夹的目录:
在这里插入图片描述
在打开之后,它会叫你输入你的密码,你就输入
在这里插入图片描述
然后你就可以开始使用了
在这里插入图片描述

新建终端

点击这里可以新建终端供你使用
在这里插入图片描述


总结

通过配置 VSCode 的远程开发扩展,开发者可以无缝地连接到 Ubuntu/Linux 服务器,实现本地开发环境与远程服务器的集成。这种设置不仅提高了开发效率,还优化了资源的利用,使得开发者能够在强大的远程服务器上进行高性能计算,而无需在本地机器上进行繁重的编译和执行任务。借助 VSCode 的强大功能和灵活的配置,开发者可以轻松管理跨平台项目,提升团队协作能力,并保持高效的工作流。通过本文的指导,你可以迅速设置和优化你的远程开发环境,享受现代开发工具带来的便捷和高效。

相关推荐

  1. vscode连接远程服务器失败

    2024-07-20 13:16:04       56 阅读
  2. vscode使用ssh连接远程服务器

    2024-07-20 13:16:04       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 13:16:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 13:16:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 13:16:04       87 阅读
  4. Python语言-面向对象

    2024-07-20 13:16:04       97 阅读

热门阅读

  1. spring-gateway整合swagger2统一微服务接口文档

    2024-07-20 13:16:04       23 阅读
  2. 定个小目标之刷LeetCode热题(45)

    2024-07-20 13:16:04       26 阅读
  3. 人工势场法路径规划算法

    2024-07-20 13:16:04       23 阅读
  4. Android笔试面试题AI答之Activity(2)

    2024-07-20 13:16:04       23 阅读
  5. HIVE:使用get_json_object解析json对象

    2024-07-20 13:16:04       29 阅读
  6. Elasticsearch索引管理和生命周期管理

    2024-07-20 13:16:04       28 阅读
  7. 现代生活背景下陶瓷艺术设计的延伸与发展

    2024-07-20 13:16:04       28 阅读
  8. LeetCode 2956.找到两个数组中的公共元素:哈希表

    2024-07-20 13:16:04       26 阅读
  9. 麦芒30全新绽放,中国电信勾勒出AI手机的新方向

    2024-07-20 13:16:04       27 阅读
  10. Prometheus 运维中实际的故障案例以及解决办法

    2024-07-20 13:16:04       23 阅读
  11. Gmsh应用程序编程接口

    2024-07-20 13:16:04       22 阅读
  12. 【Go系列】RPC和grpc

    2024-07-20 13:16:04       27 阅读