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. 更新软件包列表

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

    bash 复制代码
    sudo apt update
  2. 安装 OpenSSH 服务器

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

    bash 复制代码
    sudo apt install openssh-server

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

  3. 检查 SSH 服务状态

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

    bash 复制代码
    sudo systemctl status ssh

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

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

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

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

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

    bash 复制代码
    sudo ufw allow ssh

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

    bash 复制代码
    sudo ufw allow 22

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

    bash 复制代码
    sudo ufw status

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

bash 复制代码
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 的强大功能和灵活的配置,开发者可以轻松管理跨平台项目,提升团队协作能力,并保持高效的工作流。通过本文的指导,你可以迅速设置和优化你的远程开发环境,享受现代开发工具带来的便捷和高效。

相关推荐
tian2kong2 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
mengao12345 分钟前
centos 服务器 docker 使用代理
服务器·docker·centos
布鲁格若门6 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student11 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
C-cat.14 分钟前
Linux|进程程序替换
linux·服务器·microsoft
怀澈12216 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG18 分钟前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫19 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
码农小丘20 分钟前
一篇保姆式centos/ubuntu安装docker
运维·docker·容器
chnming198739 分钟前
STL关联式容器之set
开发语言·c++