【Remote Development】VSCode 基于 SSH 进行远程开发

本文档详述了如何在Windows环境下使用Visual Studio Code(VSCode)通过Remote SSH插件连接到远程Ubuntu服务器进行开发。步骤包括:安装本地SSH客户端(推荐Git for Windows)、远程服务器安装SSH Server、创建并设置RSA公私钥登录、配置VSCode的SSH设置。通过这些步骤,可以实现无密码SSH连接,并在VSCode中无缝远程开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统需求

我们在 VSCode 下载由微软官方推出的 Remote SSH 插件

vscode extensions ssh
查看一下里面的描述,对于远程机器的要求如下:

  • Local: A supported OpenSSH compatible SSH client must also be installed(本地机器需要一个 SSH 客户端)
  • Remote SSH host: A running SSH server on(远程机器还需要一个一直运行的 SSH Server)

远程机器的支持情况详情和其它信息请参考 :System requirements - Remote Development using SSH,下面以本地 Windows -> 远程 Ubuntu 为例

环境搭建

整个过程可以参考官方文档:Remote development over SSH

Step-1:本地安装 SSH 客户端

本地 SSH 客户端支持参见:Installing a supported SSH client

这里我们选择安装 Git for windows,具体过程略,相信大部分看到这里的都已经装过了

Step-2:远程机器安装 SSH Server

远程 SSH 服务端支持参见:Installing a supported SSH server

以 Ubuntu 为例

sudo apt-get install openssh-server

Step-3:创建公私钥

一般选择创建 RSA 公私钥对,如果之前已经创建过可以跳过这步,可以参考:Ubuntu SSH Keys Guide。其中 Windows 下的命令如下,按照命令提示的指引创建即可

ssh-keygen -t rsa -b 4096

密钥默认保存在 C:\Users\{username}\.ssh 下,如下图

rsa key

其中 id_rsa 为私钥不要外传,id_rsa.pub 为公钥可以传递出去

Step-4:设置 SSH Key 方式登录

可以参考:Configuring key based authentication,需要将公钥拷贝到远程机器上

由于我在虚拟机上操作,这里直接将其保存在虚拟机的 ~/.ssh/authorized_keys 下(其中 ~/home/<username>),在虚拟机下输入以下命令

mkdir ~/.ssh
chmod 700 ~/.ssh
cp id_rsa.pub ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

本地通过 ssh <username>@<host> 测试登录情况,其中 username 为远程主机上已存在的用户(即前面远程主机保存公钥的用户),host 为远程主机 IP(虚拟机的 IP 可通过在虚拟机上 ifconfig 查看)。

$ ssh zzy@192.168.12.130
The authenticity of host '192.168.12.130 (192.168.12.130)' can't be established.
ECDSA key fingerprint is SHA256:CCM3ZNM+5HmvljBiOpMVg3clozTGhvS8VKTvd5UYSuI.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

首次登录会提示 ECDSA key fingerprint,同意后认为该 IP 是已知可信的,将会保存在本机 C:\Users\{username}\.ssh\known_hosts 下,如下图

known hosts
在这里插入图片描述

至此,SSH 远程连接已经设置完成

Step-5:在 VSCode 设置 SSH

通过 ctrl + shift + p 输入 Remote-SSH: Open SSH Configuration file... 并选择,如下图
open ssh config
选择默认的第一个 .ssh 下的 config 文件

open ssh config 2

设置如下

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host LocalVM-Ubuntu
    HostName 192.168.12.130
    User zzy
    Port 22

其中 Host 为该远程主机的别名,Hostname 为远程机器 IP,User 为登录用户名(远程机器可用用户名),Port 为 SSH 连接端口默认为 22

保存后可以在侧栏看到刚刚的设置,如下图

show
点击上图的某个 target 右边的小图标,可以打开新窗口,或者 VSCode 左下角连接

connect_1
connect_2

至此,可以用 VSCode 愉快的玩耍啦!

远程主机安装 VSCode 扩展

TODO

参考

[1] VS Code Remote Development:https://code.visualstudio.com/docs/remote/remote-overview

[2] Remote development over SSH:https://code.visualstudio.com/docs/remote/ssh-tutorial

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值