首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在visual studio代码中从WSL中ssh吗?

我可以在visual studio代码中从WSL中ssh吗?
EN

Stack Overflow用户
提问于 2020-02-10 20:28:15
回答 7查看 6.3K关注 0票数 15

我在Windows10上使用WSL编程,最近发现VS代码可以用来通过SSH编辑程序。

但是,我通常通过WSL通过SSH连接到我大学的计算机,这样我就可以访问这些系统上的文件并使用他们的GPU。

有没有办法使用vscode通过SSH进入WSL,然后通过ssh进入我的大学系统,并从vscode中访问他们的资源和文件系统?

EN

回答 7

Stack Overflow用户

发布于 2021-02-04 23:34:06

您可以在windows下创建包含以下内容的ssh.bat文件:

代码语言:javascript
运行
复制
C:\Windows\system32\wsl.exe ssh %*

然后设置VS代码设置"remote.SSH.path“以指向该bat文件。

您将在VS Code中拥有与在WSL中相同的ssh配置和凭证。

票数 7
EN

Stack Overflow用户

发布于 2020-06-18 14:00:58

如果你可以从你的WSL直接SSH到你的大学系统,我假设你可以直接从你的Windows系统SSH。在这种情况下,您可以从Windows设置VS Code Remote SSH来直接访问您的大学系统。鉴于此,我使用了Git Bash终端,因为它直接支持从Windows操作系统发出的所有Linux命令。

SSHStep1SSH:设置您对大学系统的访问权限(无论是否使用密码)。你可以在网上参考文章,我假设你已经知道怎么做了,因为你是在WSL中做的。

Step2:在本地机器上安装VS代码扩展中的远程开发包。

第3步:转到VS代码设置,展开扩展下拉菜单并选择'Remote - SSH‘。在设置页面上,将"Remote - SSH: Config File“设置为存储远程系统详细信息的ssh配置文件。例如:~\vscode.ssh还选中了“总是显示SSH终端”的复选框。

步骤4:将远程系统详细信息添加到文件~\vscode.ssh中,如下所示:

代码语言:javascript
运行
复制
Host <hostname>
    User <ID for SSH login> # e.g. your university ID
    HostName <full qualified address for your remote system> # e.g. system.subnet.university.edu
    IdentityFile <your SSH pvt key> #e.g. ~/.ssh/id_rsa

Step 5:在左侧导航栏中选择Remote Explorer,然后从下拉菜单中选择“ Targets”。您的主机名应显示在此处。右键单击并连接到主机。

Step 6:如果提取tar文件失败,请从VSCode终端日志中仔细查看第一次连接尝试的日志。

默认情况下,VS Code会将vscode-server安装在您的远程系统的主目录中,根据您的大学的空间限制,该目录可能会用完空间。您需要将vscode-server目录移动到空间限制较少的工作区,通常是项目区。使用以下步骤来完成此操作,我创建了这些步骤以供我的组织使用:

启动VSCode remote后,根据远程主目录中的可用空间,连接可能会失败或成功,因为默认情况下,VSCode会在主目录中设置远程服务器,并且此设置不能更改。

服务器如果成功,仍将vscode-

  1. 移至另一个较大的可用空间目录:

a.从远程桌面终端b. mv ~/.vscode-server /your/big/disk/ project /space c导航到所需的项目空间目录。ln -s /your/big/disk/project/ space /.vscode-server ~/.vscode-server d.在前面的命令中使用完全绝对路径,避免循环链接。用下面的命令确认,它不会返回任何东西。$ find -L。/ -mindepth 15 e.再次从VSCode重新连接

  • 如果失败,请在远程大可用空间目录上手动设置vscode-

a.使用以下命令获取远程服务器上的vscode-server提交ID。类似于'e2d4cc38bb5da82wb67q86fd50f84h67bb340987‘$ ls ~/.vscode- $COMMIT_ID /bin b.将tarball替换为本地系统上上一步中的提交号:https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable c.将tarball从本地系统移至远程服务器磁盘:$ scp -P 22 vscode-$COMMIT_ID-linux-x64.tar.gz remoteID.remote.system.url.com:~/ d.将tarball移至大可用空间目录,如下所示:$ mkdir -p tar.url.com/$COMMIT_ID/ $mv~/ vscode-server-linux-x64.tar.gz /your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID/ e.解压缩此目录下的tarball $ cd /your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID $ tar -xvzf vscode-server-linux-x64.tar.gz-xvzf--/your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID/1 f.在主目录下创建.vscode-server的符号链接$ ln -s /您的/big/disk/project/space/.vscode-server ~/.vscode-server g.再次连接

票数 1
EN

Stack Overflow用户

发布于 2021-04-07 20:29:18

我发现这篇文章很适合我使用VSCode通过ssh连接到远程主机,使用windows10的wsl ubuntu中的ssh配置。

https://zitseng.com/archives/20325

因为我使用的是受密码保护的密钥,所以我还必须启用ssh代理并向其添加密钥,才能使其正常工作。

更新:不幸的是,WSL的ssh服务不能自动启动,我不得不添加另一个.bat文件,正如这里https://superuser.com/a/1506722/239839所解释的那样。

除此之外,我还需要首先打开一个WSL控制台,使用ssh-add mykey,然后执行到主机的第一个ssh连接。如果我不这样做,系统会一直要求我输入ssh密钥的密码。

最好的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60150466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档