VScode远程连接虚拟机(ubuntu系统)

本文详细介绍了如何在Windows上安装VScode并使用Remote-SSH插件远程连接到Ubuntu虚拟机,包括安装SSH服务,配置免密登录等步骤,适用于需要在虚拟机环境中开发代码的场景。

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

适用场景:

  • 由于代码的编译环境都是在虚拟机完成,所以源码一般都是放在虚拟机环境,当需要修改源码时,要有一款好用的编辑器,vscode功能强大,非常适合,但是在虚拟机安装会出现不兼容的情况,可以考虑采用windows安装vscode远程连接虚拟机的使用方式,下面就展开如何使用VScode远程连接虚拟机(ubuntu系统)

注意:当前ubuntu版本为18.04

1. Windows端安装VScode

vscode官网

2. 安装远程登录插件

搜索插件名称:Remote Development,并安装

下载 Remote-Developoment 插件,会自动安装其他的 Remote 插件,其中会包含 Remote-SSH 插件
在这里插入图片描述

注意:在windows端下载的插件不会与虚拟机共享,其他插件也需要根据情况再安装

3. 配置Remote-SSH插件

安装完成后点击左下角的远程连接

在这里插入图片描述
选择connect to host
在这里插入图片描述
初次使用需要添加远程连接的ip,添加过的会有记录
在这里插入图片描述
输入需要远程连接的ip地址和用户名,例如:ssh root@192.168.xxx.xxx
在这里插入图片描述
选择第一个,即将上面输入的远程ip地址和用户名内容的文件保存到指定的地方

在这里插入图片描述
此时右下角出现的配置文件中就有刚刚配置的远程ip和登录用户名,便于用户修改
在这里插入图片描述
文件内容如下:
在这里插入图片描述

关于关闭后如何打开该配置文件

CTRL+SHIFT+P,搜索ssh,找到 Open Configuration File 选项,选择要修改远程ip地址和用户名即可
在这里插入图片描述

4. 测试ubuntu与windows可否ping通

在远程连接之前先检验是否可以ping通,需要ubuntu与windows在一个网段下

ifconfig   # 在ubuntu中查看ip地址
ipconfig	# 在windows中查看ip地址
ping xxx.xxx.xxx.xxx #ubuntu端ip地址

如果没有配置ubuntu的桥接网卡的可以参考博客配置【可以只设置桥接网卡,NAT网卡是为了访问外部网络】:vmware虚拟机设置双网卡

5. 在Ubuntu中安装 SSH

1.检查是否安装ssh-server

Ubuntu默认并没有安装ssh服务,如果通过ssh远程连接到Ubuntu,需要自己手动安装Openssh-server
判断是否安装ssh服务,可以通过如下命令进行:

ps -e|grep ssh

输出如下:

1221 ?        00:00:00 sshd
1964 ?        00:00:00 ssh-agent
2650 ?        00:00:00 sshd
2651 ?        00:00:00 sshd

ssh-agent表示ssh-client启动,sshd表示ssh-server启动了

2.安装openssh-server

在终端中输入:

sudo apt-get install openssh-server

3.查看ssh服务是否启动

输入

sudo ps -e |grep ssh

sshd,说明ssh服务已经启动。如果没有启动,输入

sudo service ssh start

4.Ubuntu中配置openssh-server开机自动启动

sudo systemctl enable ssh

如果不需要自启动或者是每次想自己连接的话,可以执行下面这行代码关闭

sudo systemctl disable ssh

5. 重启后检查是否设置成功

sudo systemctl status ssh

输出结果如下

在这里插入图片描述

6. 初次连接

点击左下角的插件图标,选择connect to host ,选择刚刚自定义的主机名,然后选择平台(Linux),最后输入ubuntu密码就可以连接成功了。
在这里插入图片描述
连接成功后会在配置文件中记录该主机名对应的平台,

在这里插入图片描述
配置文件如下:
在这里插入图片描述

7. 后续连接

在这里插入图片描述

8. vscode配置免密登录

在windows端,按win+R输入cmd打开命令提示符,然后输入以下指令,最后不断按回车就会生成秘钥

 ssh-keygen -t rsa -b 4096

此时秘钥存放在C:\Users\用户名\.ssh里面

在你的虚拟机进行同样的操作,输入相同的命令后一直回车

ssh-keygen -t rsa -b 4096

进入到.ssh/这个文件夹,查看一下有没有成功生成公钥和私钥

在这里插入图片描述
使用mobaxterm远程连接ubuntu,然后把Windows的id_rsa.pub文件重命名为authorized_keys,然后复制到ubuntu的.ssh路径下,如图所示
再次用vscode尝试连接服务器或者虚拟机就可以免密登录了

参考博文:VsCode配置ssh免密远程登录

### 配置 Ubuntu 以支持 VSCode 远程开发 #### 安装必要的软件包和服务 为了使本地的 Visual Studio Code (VSCode) 能够远程访问 Ubuntu 并执行代码编写与调试工作,需先确保目标机器已安装 SSH 服务器[^1]。 对于大多数 Linux 发行版而言,默认情况下可能并未启用 SSH 服务。因此,在 Ubuntu 中应通过命令 `sudo apt update && sudo apt install openssh-server` 来更新系统并安装 OpenSSH Server[^3]。 完成上述操作之后,还需验证 SSH 服务状态是否正常启动,可以利用如下指令来确认:`systemctl status sshd.service` 或者更简单的 `service ssh status` 命令。 #### 设置 SSH 访问权限 当 SSH 已经被正确部署完毕后,则要调整其配置文件 `/etc/ssh/sshd_config` ,允许特定用户的密钥认证方式登录,并关闭密码登陆选项提高安全性。具体修改内容包括但不限于: - 将 `PasswordAuthentication yes` 改为 `no` - 添加或更改 `PubkeyAuthentication yes` 保存编辑后的配置文档,并重新加载 SSH 服务以便应用新的设定:`sudo systemctl restart sshd` 或者 `sudo service ssh restart`。 #### 创建及上传公私钥对 接着要在客户端计算机生成一对用于身份验证的新 RSA 密码学钥匙;这一步骤可通过运行终端内的 `ssh-keygen -t rsa -b 4096` 实现自动生成过程[^2]。随后把产生的公共部分复制到远端主机相应位置下——即 `.ssh/authorized_keys` 文件里去,从而实现无密码的安全接入机制。 如果遇到任何关于秘钥传输方面的困难,也可以考虑借助于 `ssh-copy-id user@remote_host` 自动化工具简化流程[^4]。 #### 使用 VSCode Remote Development 扩展连接Ubuntu 最后回到 Windows/MacOSX 主机上的 VSCode 应用程序界面内,按照官方指引下载名为 "Remote - SSH" 的扩展组件。一旦附加功能准备就绪以后,便可以在左侧活动栏找到绿色图标代表的入口菜单项,点击它就能依照提示输入用户名加上 IP 地址组合成完整的地址字符串(例如:`username@your_ubuntu_ip_address`),进而建立会话通道。 ```bash # 更新系统并安装OpenSSH Server sudo apt update && sudo apt install openssh-server # 查看SSH服务状态 systemctl status sshd.service # 修改SSH配置文件路径 nano /etc/ssh/sshd_config # 关闭密码登录, 开启公钥认证 PasswordAuthentication no PubkeyAuthentication yes # 重启SSH服务 sudo systemctl restart sshd # 在客户机上创建RSA密钥对 ssh-keygen -t rsa -b 4096 # 复制公钥到Ubuntu服务器 ssh-copy-id username@remote_host ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值