Getting started
远程开发扩展包
安装了Remote Development插件,还会自动其他插件,例如:Remote SSH,Remote WSL,Remote Containers
Working in WSL
Remote-WSL扩展使你可以直接从VS Code将Linux的Windows子系统(WSL)用作全职开发环境。
在WSL终端中创建一个helloworld空文件夹,在该文件夹下键入code .启动Visual Studio Code。
你看到的第一件事是有关“正在安装VS Code Server”的消息(26076a4de…数字是与刚安装的客户端工具匹配的VS Code Server的版本)。 VS Code正在Linux端安装一台小型服务器,然后桌面端VS Code将与之对话。 然后,该服务器将在WSL中安装并托管扩展,以便它们在WSL中安装的工具和框架的上下文中运行。换句话说,你在本地机器上安装的语言扩展,在WSL中不能使用。插件面板也体现地很清楚。
使用WSL中安装的Linux实例,您可以获得Visual Studio Code的完整开发体验。
打开文件夹也是打开的WSL中Linux子系统的文件夹。
关闭远程连接:
Working in SSH
Remote - SSH ——使用ssh打开远程电脑/VM上的文件夹。
系统要求:
本地机器:必须安装有OpenSSH客户端。
通过 PowerShell 检测是否安装 OpenSSH
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
上述操作需要管理员权限
允许通过ssh连接到任何运行了ssh-server的机器上。
使用公钥连接远程主机
虽然支持密码验证远程连接,但还是建议将本地公共SSH密钥添加到远程主机上的〜/ .ssh /authorized_keys 上。
-
首先检查本地机器上是否已经存在一个SSH Key。MacOs/Linux上公钥通常位于
~/.ssh/id_rsa.pub,Windows则通常位于C:\Users\your-user\.ssh\id_rsa.pub] -
如果没有,则终端或者PowerShell运行下面这个命令生产 SSH密钥对 :
ssh-keygen -t rsa -b 4096 -
将本地公共密钥(id_rsa.pub文件)的内容添加到SSH主机上相应的authorized_keys文件中。
macOS / Linux:在本地终端中运行以下命令,并根据需要替换用户名和主机名:
ssh-copy-id your-user-name-on-host@host-fqdn-or-ip-goes-hereWindows:在本地PowerShell中运行以下命令,并根据需要替换REMOTEHOST的值:
$REMOTEHOST="your-user-name-on-host@host-fqdn-or-ip-goes-here" scp "$env:USERPROFILE\.ssh\id_rsa.pub" "${REMOTEHOST}:~/tmp.pub" ssh "$REMOTEHOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
使用专用钥匙提高安全性
在所有SSH主机上使用单个SSH密钥虽然很方便,但是如果任何人都可以访问您的私钥,那么他们也将有权访问您的所有主机。您可以通过为开发主机创建单独的SSH密钥来防止这种情况。
-
创建单独秘钥
macOS / Linux:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-sshWindows:
ssh-keygen -t rsa -b 4096 -f "$env:USERPROFILE\.ssh\id_rsa-remote-ssh" -
将新公钥添加到远程主机上
macOS / Linux:
ssh-copy-id -i ~/.ssh/id_rsa-remote-ssh.pub name-of-ssh-host-herewindows:
$REMOTEHOST="name-of-ssh-host-here" scp "$env:USERPROFILE\.ssh\id_rsa-remote-ssh.pub" "${REMOTEHOST}:~/tmp.pub" ssh "$REMOTEHOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"