vscode通过remote-ssh远程连接虚拟机中的服务器【错误解决】2025-8-5

------※问题引入※------

为什么需要在vscode通过ssh远程连接虚拟机?(以Ubuntu为例
vscode通过remote-ssh插件将本地开发环境与虚拟机终端绑定,实现远程代码编辑、文件管理和终端操作。通过ssh远程连接虚拟机,可以直接在本地的vscode中编辑远程文件,不需要频繁地切换窗口,能更加灵活的进行开发,提高开发效率。

------※1.虚拟机操作步骤※------

  1. 首先是SSH服务器的安装
sudo apt-get install openssh-server

输入命令:在这里插入图片描述

  1. SSH服务器的开启、关闭以及查询当前的运行状态
/*开启或关闭SSH服务器的命令*/
systemctl strat ssh   //临时开启SSH服务器,系统重启后需要再次开启
systemctl stop ssh    //临时关闭SSH服务器
systemctl enable ssh  //永久开启,系统开启后保持开启
systemctl disable ssh //永久关闭,系统开启后保持关闭

/*查询服务器的运行状态*/
systemctl status ssh          //查询SSH服务器是否开启
systemctl status sshd.service //查询SSH服务器是否开启

SSH成功运行,Activice:active(running)在这里插入图片描述

  1. SSH远程登录命令
ssh 远程主机用户名@远程主机的IP
/*  比如 远程用户名为 hr ,远程主机的ip为 192.168.55.xxx   
    那么 远程登录的命令为 ssh hr@192.168.55.xxx(主机名根据自己电脑分配的ip来确定)*/

------※2.VScode操作步骤※------

下面是VScode安装ssh插件以及远程连接虚拟机的步骤

  1. 在vscode中安装Remote - SSH插件

在这里插入图片描述

  1. 下面进行远程连接虚拟机,当下载完成插件后,在vscode右侧出现这个图标,点击图标,然后点击“+”进行输入SSH远程连接的命令
    在这里插入图片描述
    在这里插入图片描述
    当连接后,选择连接历史信息保存的文件,点击连接,输入密码进行远程登录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    此时已经顺利完成链接啦~可以在终端进行远程连接虚拟机
    在这里插入图片描述效果如下:在这里插入图片描述

------※3.问题解决办法※------

下面是我在连接过程中遇到的小问题:
1.无法与"自己的虚拟机ip"建立连接。
2.过程试图写入的管道不存在。
错误的示例如下图所示:

在这里插入图片描述
解决办法:

  1. 首先点击关闭远程,打开vscode中的设置,查找setting.json文件

在这里插入图片描述

  1. 在这个文件中插入两行代码,代码内容如下,ip为自己的虚拟机ip(桥接模式下):
    "remote.SSH.remotePlatform": {
        "192.168.55.xxx":"linux"
    },
    "remote.SSH.useLocalServer": true,

在这里插入图片描述

  1. 保存后再次点击连接,输入密码即可连接成功。
    在这里插入图片描述

参考up主的视频成功解决该问题
https://www.bilibili.com/video/BV1wD4y1o7WV/?vd_source=c6384966611ac768163d647c59028f01

以上操作步骤,如有不足,感谢指点!!!

### 配置 VSCode 使用 SSH 连接远程服务器中的虚拟机 #### 准备工作 为了实现通过 Visual Studio Code (VSCode) 使用 Secure Shell (SSH) 协议连接远程服务器上的虚拟机,需完成以下几项准备工作: 1. **在目标虚拟机上安装并配置 SSH 服务** 虚拟机作为被访问的目标设备,需要先安装 SSH 服务软件包。对于基于 Ubuntu 的系统,可以通过运行 `sudo apt update && sudo apt install openssh-server` 安装 OpenSSH Server[^1]。 2. **调整防火墙设置以允许 SSH 流量** 如果虚拟机启用了防火墙,则需要开放默认的 SSH 端口(通常是 22)。可以执行如下命令来打开端口: ```bash sudo ufw allow 22/tcp ``` 3. **验证 SSH 服务状态** 确认 SSH 服务正在运行且监听指定端口,可使用以下命令检查其状态: ```bash sudo systemctl status sshd ``` --- #### Windows 主机上的操作 1. **测试基本 SSH 登录功能** 在本地计算机(假设为 Windows 系统)中,可通过命令行工具尝试手动登录虚拟机,确保基础网络连通性和认证机制正常运作。例如: ```cmd ssh username@virtual_machine_ip_address ``` 替换其中的 `username` 和 `virtual_machine_ip_address` 为实际值[^2]。 2. **生成与部署 SSH 密钥对用于无密码登录** 推荐采用公私钥加密方式代替传统密码输入方法提升安全性及便利度。具体步骤包括但不限于以下几个方面: - 创建新的密钥对; ```bash ssh-keygen -t rsa -b 4096 -C "[email protected]" ``` - 将生成好的公共部分复制粘贴进远端主机对应用户的授权钥匙列表里去; ```bash cat ~/.ssh/id_rsa.pub | ssh user_name@server 'mkdir -p .ssh && chmod 700 .ssh && cat >> .ssh/authorized_keys' ``` --- #### VSCode 插件配置 1. **安装 Remote - SSH 扩展** 打开 Extensions 视图 (`Ctrl+Shift+X`) 并搜索 “Remote - SSH”,点击 Install 来获取官方提供的支持组件[^3]。 2. **编辑配置文件 `.ssh/config`** 此处定义了各个常用会话的具体参数组合以便快速切换调用。一个典型的条目可能看起来像这样子: ```plaintext Host myvm HostName virtual_machine_ip_address User your_username_on_vm Port 22 IdentityFile ~/.ssh/private_key_file_path ``` 3. **启动远程开发环境** 利用左侧活动栏里的专用图标按钮或者直接按快捷键 Ctrl+Alt+D 后按照提示选择预设名称即可建立链接关系。 --- #### 常见问题排查 当遇到诸如“试图写入的管道不存在”的报错信息时,通常是因为某些依赖库缺失或者是权限不足所引起。解决方案之一便是重新加载整个插件集以及确认所有必要的路径都被正确添加到了全局变量当中去了。 ```javascript // 示例 JavaScript 代码片段展示如何动态修改 Node.js 中的过程标准输出流方向 process.stdout.write('Hello World'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值