在我们办公室,通常配置两台电脑,一台 Windows 主机,主要用于办公、即时通讯,一台 Linux 主机,用于开发。一般开发人员习惯用 Windows 系统下的工具,比如 Source Insight ,但代码需要在 Linux 下编译。这样就需要 Windows 和 Linux 之间协作,通常的做法是在 Linux 下安装 samba 服务,通过 Windows 共享访问。今天看到一篇文章,讲的是 VS CODE 远程开发,觉得不错,特此翻译出来,供大家参考,原文题目:Getting started with VS CODE remote development,点击阅读原文,可以跳转到英文原文。
假设您在云上有一个GPU虚拟实例或物理上只有主机的计算机,可以有多种选项,如远程桌面或 Jupyter Notebook ,为您提供类似于桌面的开发体验,但是 VS CODE 远程开发扩展比 Jupyter Notebook 灵活,比远程桌面响应速度更快。我将一步步向您展示如何在 Windows 上进行设置。
启动OpenSSH服务
首先,请确保您已在服务器上设置了 SSH ,通常您的线上服务器实例会预配置 OpenSSH 服务,下面的命令可以检查它是否在运行:
service sshd status
如果您看到类似如下的内容,那很好,否则,请安装或启动 OpenSSH 服务:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-09-17 19:58:43 CST; 4 days ago
Main PID: 600 (sshd)
Tasks: 1 (limit: 1109)
CGroup: /system.slice/ssh.service
└─600 /usr/sbin/sshd -D
对于Ubuntu系统,您可以安装 OpenSSH 服务器并可选更改默认的 22 端口,如下所示:
sudo apt-get install openssh-server
# Optionally change the SSH port inside this file.
sudo vi /etc/ssh/sshd_config
sudo systemctl restart ssh
设置完毕后,使用 IP 地址、用户名和密码从开发计算机 SSH 到该服务器,以确认没有任何故障。
Windows上的 OpenSSH 客户端
对于 Windows 10 用户而言,此步骤很轻松,只需在设置页面中启用一项功能,也可能它已经启用。无论如何,下面是验证此功能已启用的步骤。
在设置页面中,转到应用程序,然后单击管理可选功能,向下滚动并检查是否已安装 OpenSSH Client。
设置 SSH 密钥
您不想每次登录服务器时都输入用户名和密码,对吧?
在Windows(您的开发机)中
在这里,我们将在命令提示符下像这样生成 SSH 密钥:
ssh-keygen -t rsa
接受默认设置,按照提示进行操作时,可以将 key phase 保留为空。
复制此命令的输出:
cat ~/.ssh/id_rsa.pub
然后,使用用户名和密码 ssh 到服务器,接着运行以下命令行打开并将刚刚复制的内容附加到服务器上的 ~/.ssh/authorized_keys 文件。
mkdir -p ~/.ssh
vi ~/.ssh/authorized_keys
如果您不熟悉vi,请按 Shift + END 结束,键入 a 进入追加模式,右键单击以粘贴剪贴板的内容。完成后,按 Shift + ; ,然后键入 wq 进行写操作。此后,我们不再需要在 vi 中以相同的方式编辑代码。
要验证 SSH 的设置,请在 Windows 计算机上启动新的命令行提示符,然后键入 ssh <用户名>@ <服务器 IP> ,它应该自动登录而不要求输入密码。
安装VS CODE远程开发扩展
打开 VS CODE ,单击扩展选项卡,然后搜索 remote development 并安装它。
安装完成后,您将看到一个名为Remote Explorer的新标签,单击该标签,然后点击设置按钮。
选择第一个条目,对我的环境而言,它类似 C:\Users\hasee.ssh\config ,打开之后,请填写别名、主机名和用户。别名可以是任何可以帮助您记住的文本,主机名可能是远程计算机的 IP 地址。
完成此操作后,只需单击 Connect to Host in New Window 按钮。
最后一步,在新窗口中,单击侧栏中的 Open Folder 以选择您的远程计算机上的文件夹路径,您可以键入 Ctrl + ` 打开远程计算机上的终端,就如同在本地一样。
结论和进一步阅读
现在,您已经拥有了一个快速教程,该教程向您展示了如何从头开始设置VS CODE远程开发,使您可以在无监视器的远程服务器上享受桌面开发体验。
更多关于VS CODE远程开发的资料,请访问官方页面。