引言:
在 PyCon 2019 大会上,微软发布了 VS Code Remote,通过安装Remote Development 扩展包,开发者可以通过VS Code直接在远程机器上进行开发调试,就像在本地开发调试一样,但目前仅在Insider版本中支持该功能。
安装OpenSSH
win10:
1.下载最新版本:https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v8.0.0.0p1-Beta
2.解压后复制到 C:\Program Files\下面 (这边选取的是OpenSSH-Win64版本)
3.将OpenSSH的路径C:\Program Files\OpenSSH-Win64加入系统环境变量
4.在路径(C:\Program Files\OpenSSH-Win64)下打开PowShell 执行
#安装 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1#打开sshd.exe的防火墙以允许入站SSH连接 New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22#运行sshd(如果密钥不存在,这将自动生成%programdata%\ssh下的主机密钥) net start sshd#设置sshd并ssh-agent自动启动(可选) Set-Service sshd -StartupType Automatic Set-Service ssh-agent -StartupType Automatic
Ubuntu_Server:
sudo apt-get install openssh-server
配置SSH密钥
检查本地计算机上是否已有SSH密钥(非对称加密)。window公钥通常位于路径:
%USERPROFILE%\.ssh\
,如果没有发现id_rsa.pub
文件, 代表本地没有生成过SSH秘钥,使用以下命令:ssh-keygen -t rsa -b 4096 # 只需要一直回车就能生成到 %USERPROFILE%\.ssh\ 目录下
在Windows上,在本地命令提示符中运行以下命令
SET REMOTEHOST=root@10.67.119.192SCP C:\Users\shixiang\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pubssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
如图所示
如果以上命令出现问题,那么直接手动把目录
%USERPROFILE%\.ssh\id_rsa.pub
的 公钥内容 复制到 linux下/[用户名]/.ssh/authorized_keys
文件里面进行保存
安装 VS Code Insider版和Remote Development扩展包
通过https://code.visualstudio.com/insiders/下载insider版VS Code并安装 (路径最好都勾选)
在VS Code扩展中心搜索并安装 Remote Development扩展包。Remote Development 包括Remote-SSH,Remote-Containers和Remote-WSL三个扩展。
VS Code中连接远程机器
按F1弹出VS Code的命令选项板,输入Remote-SSH: Connect to Host,回车,选择Configure SSH Hosts,并打开C:\Users\用户名\.ssh\config文件,配置远程主机并保存。配置信息如下所示
现在在左边栏可以看到你配置的机器 (最下面图标在装完Remote后出现)
![]()
点击连接报错:error:
An SSH installation couldn't be found
这个报错通常是因为,vscode没有指定好相应的路径好, 需要到
Settings --> Remote.SSH.Path
进行指定OpenSSH路径
再次点击 成功!