我在Windows10上使用WSL编程,最近发现VS代码可以用来通过SSH编辑程序。
但是,我通常通过WSL通过SSH连接到我大学的计算机,这样我就可以访问这些系统上的文件并使用他们的GPU。
有没有办法使用vscode通过SSH进入WSL,然后通过ssh进入我的大学系统,并从vscode中访问他们的资源和文件系统?
发布于 2021-02-04 23:34:06
您可以在windows下创建包含以下内容的ssh.bat文件:
C:\Windows\system32\wsl.exe ssh %*然后设置VS代码设置"remote.SSH.path“以指向该bat文件。
您将在VS Code中拥有与在WSL中相同的ssh配置和凭证。
发布于 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中,如下所示:
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_rsaStep 5:在左侧导航栏中选择Remote Explorer,然后从下拉菜单中选择“ Targets”。您的主机名应显示在此处。右键单击并连接到主机。
Step 6:如果提取tar文件失败,请从VSCode终端日志中仔细查看第一次连接尝试的日志。
默认情况下,VS Code会将vscode-server安装在您的远程系统的主目录中,根据您的大学的空间限制,该目录可能会用完空间。您需要将vscode-server目录移动到空间限制较少的工作区,通常是项目区。使用以下步骤来完成此操作,我创建了这些步骤以供我的组织使用:
启动VSCode remote后,根据远程主目录中的可用空间,连接可能会失败或成功,因为默认情况下,VSCode会在主目录中设置远程服务器,并且此设置不能更改。
服务器如果成功,仍将vscode-
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重新连接
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.再次连接
发布于 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密钥的密码。
最好的
https://stackoverflow.com/questions/60150466
复制相似问题