在Windows下配置Linux远程开发环境

欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-environment-under-Windows.html

前言

由于需要,我从之前的 kubuntu 又换到了 Windows10。不得不感叹,Windows的图形界面用着真的舒服,可是我Linux开发环境怎么办。搜索了一下,发现使用 vscode 的远程开发套件Remote Development extension pack 加上 Linux 虚拟机是一个近乎完美的方案。本文仅作参考,希望能帮助到他人。

本文不再介绍如何安装和配置 Linux虚拟机,如有需要请自行百度。

支持的Linux发行版

远程开发套件所支持的Linux发行版是有限的,不同发行版所支持的功能完善程度不同,详情查看官网

本次我使用的是 ubuntu-20.04.2-live-server-amd64,ubuntu和centos都可以完美的支持。

系统需求

本机

本机 Windows 10 需要安装:

  1. 安装 Git
  2. 安装 Visual Studio Code
  3. 安装vscode Remote Development extension pack 插件

远端机器

远端 Linux虚拟机 条件:

发行版类型 基本需求 SSH 需求
Ubuntu 16.04+, Debian 8+, Raspbian Stretch/9+ downstream distributions libc6 libstdc++6 python-minimal ca-certificates tar openssh-server bash curl 或者 wget
RHEL / CentOS 7+ glibc libgcc libstdc++ python ca-certificates tar openssh-server bash curl 或者 wget

其他发行版或详细信息请见官网

配置vscode Remote.SSH.Path

由于本地的openssh与远程主机可能会有命令上的差异,所以要把这里的 ssh 路径修改为自己的。

File Perference Setting中搜索 remote.ssh.path,将路径改为自己的路径。

配置 vscode remote.ssh:use local server

如果远程Linux主机不在本地网络中,例如想要在阿里云上部署环境,则需要在 Remote.SSH:Use Local Server取消勾选

连接远程主机

使用vscode中的 Remote Explorer,选择 SSH Target,点击加号添加远程主机。

输入要登陆的用户名和地址,例如 ssh root@139.196.5.95

选择本机ssh设置,选择第一个用户设置。Windows10默认安装了openssh,如果没有,则需要自行安装,这里提供参考链接

添加成功之后,该服务器会在列表中出现。点击它进行连接。

选择操作系统类型,这里选择Linux。

继续。

输入用户密码,之后即连接成功!

我们可以在这里选择要打开的文件夹。

之前在本地安装的插件,也要在远程主机上安装一遍。

免密登录

会发现,每次进行连接的时候都需要输入一遍密码,这样很是麻烦。想要使用ssh密钥免密登录,可以参考我之前的文章。

openSSH实现免密登录

删除远程主机

vscode上面没有删除按钮,如果需要删除,则需要修改ssh的config配置。就在 .ssh/config,路径名因人而异。

删除不需要的主机即可。

参考文档

最新文章

  1. There are no resources that can be added or removed from the server
  2. WPF入门教程系列八——布局之Grid与UniformGrid(三)
  3. [OpenCV] Image Processing - Image Elementary Knowledge
  4. ajax的详细学习
  5. 【BZOJ】【1211】【HNOI2004】树的计数
  6. php 5.3开始使用mysqlnd作为的默认mysql访问驱动
  7. OpenJudge 2694 逆波兰表达式
  8. <httpProtocol/>配置http协议头
  9. Android Studio的使用(三)--包不分级、修改包名
  10. Cent-Linux腾讯课堂学习笔记
  11. MVC登出友情提示
  12. Memcached修改默认端口
  13. poj 1046 ——Color Me Less
  14. [Swift]LeetCode380. 常数时间插入、删除和获取随机元素 | Insert Delete GetRandom O(1)
  15. UITableView 和 UITableViewController
  16. 《机器学习实战(基于scikit-learn和TensorFlow)》第五章内容学习心得
  17. 091实战 Nginx配置(日志服务器中关于日志的产生)
  18. [cogs2314][HZOI 2015] Persistable Editor - 可持久化平衡树
  19. 设置和获取html、文本和值
  20. 转:Windows下USB接口驱动技术(二)

热门文章

  1. CSS3 弹性盒子(Flex Box)
  2. Parcel all in one
  3. how to input special keyboard symbol in macOS(⌘⇧⌃⌥)
  4. React & update state with props & Object.assign
  5. Nestjs 修改dist目录
  6. 「NGK每日快讯」12.1日NGK公链第28期官方快讯!
  7. NGK的去中心化自治实践,更人性化的DAO
  8. call、apply和bind的实现
  9. linux调度全景指南
  10. 关于 HTTP 后端人员需要了解的 20+ 图片!