解决远程ssh端口非22的问题,见文末
参考文献:
Developing on Remote Machines using SSH and Visual Studio Codecode.visualstudio.com使用SSH进行远程开发Developing on Remote Machines using SSH and Visual Studio Code使用SSH进行远程开发
在Visual Studio remote- SSH扩展允许你打开任何远程计算机,虚拟机或容器上的远程文件夹与正在运行的SSH服务器,并充分利用VS代码的功能集。连接到服务器后,您可以与远程文件系统上的任何位置的文件和文件夹进行交互。
由于扩展程序直接在远程计算机上运行命令和其他扩展,因此本地计算机上不需要源代码即可获得这些好处。
系统要求
本地:查看VS Code的最低要求。还必须安装受支持的OpenSSH兼容SSH客户端。
远程SSH主机:正在运行的SSH服务器:
- 完全支持: x86_64 Debian 8+,Ubuntu 16.04 +,CentOS / RHEL 7+。
- 实验支持:仅限Visual Studio Code Insiders中的 ARMv7l Raspbian 8+(32位)。
glibc
x86_64和ARMv7l的其他基于Linux的发行版(在VS代码内部人员中)应该有效,如果他们有必要的先决条件。有关启用和运行社区支持的分发的信息先决条件和技巧,请参阅远程开发和Linux文章。
虽然VS Code-Insiders中提供了实验性ARMv7l支持,但由于在扩展中使用了x86本机代码,因此安装在ARMv7l设备上的某些扩展可能无法正常工作。
安装
要开始,您需要:
- 安装OpenSSH兼容的SSH客户端(如果尚不存在)。注意: Windows不支持PuTTY,因为该
ssh
命令必须位于路径中。 - 安装Visual Studio代码或Visual Studio代码内部人员。
- 安装远程开发扩展包。
- [可选]如果您使用的是macOS或Linux,并且在连接到主机时需要输入令牌或密码,href="https://code.visualstudio.com/docs/remote/troubleshooting#_enabling-alternate-ssh-authentication-methods">则可以ControlMaster在SSH配置中启用,以防止您多次输入。
连接到远程主机
Visual Studio Code使用SSH配置文件,并且需要基于SSH密钥的身份验证才能连接到主机。如果您还没有主机,则可以在Azure上创建Linux VM或在现有计算机上设置SSH主机。
注意:有关支持的SSH主机的信息,请参阅系统要求。glibc
在Visual Studio Code Insiders中使用Raspbian等ARMv7l 发行版的实验性支持时,请注意,由于在扩展中使用了x86本机代码,远程主机上安装的某些扩展可能无法正常工作。
要开始使用,请按以下步骤操作:
- 首先,通过在主机上添加本地公共SSH密钥,在计划连接的主机上配置基于密钥的身份验证
~/.ssh/authorized_keys
。如果您是SSH新手或遇到麻烦,请参阅此处以获取有关设置此功能的其他信息。如果您按照Azure VM教程进行操作,则可以跳过此步骤。注意:如果您跳过此步骤,由于vscode-remote-release#642,您最终需要输入两次密码。另请注意,PuTTY for Windows不是受支持的客户端,但您可以转换PuTTYGen密钥。 - 运行Remote-SSH:从命令选项板(F1)连接到主机...并在输入框中的主机上输入主机和您的用户,如下所示:
user@hostname
。
常见问题
vscode使用非22端口ssh远程调试
config配置文件如下
Host LabServerHostName 128.22.22.22User rootPort 18012