linux离线环境局域网远程ssh连接vscode

1.前提保证

安装并配置好 ssh 服务,并且,本地主机和需要远程的主机和在同一个局域网内.

2. vscode安装远程所需扩展及配置

2.1安装扩展

vscode 扩展中搜索Remote - SSH,下载安装

1.2.1 通过 ssh 连接命令连接

vscode 中依次点击 远程资源管理器->新建远程,在打开的连接命令窗口中输入命令(或者直接快捷键 ctrl + shift + p) 然后输入:

bash 复制代码
ssh <user>@<hostname>:[port]

示例:ssh dgf@127.0.0.1:

  • user: 是在远程服务器上的用户名
  • hostname: 远程服务器的主机名或 IP 地址
  • port: SSH 连接的端口号(默认为 22)

输入后按Enter键选择要更新的配置文件,一般选择第一个也就是

Host:这是一个主机别名,你可以使用这个别名来代替实际的主机名进行连接.

HostName:这是指定远程主机的 IP 地址或主机名.

Port:这是指定 SSH 连接的端口号.

User:这是指定用于连接远程主机的用户名.

如果要配置多个远程,继续在此文件追加配置即可

1.3.1

点击远程资源管理器刷新,此时远程资源管理器会出现刚配置的远程连接,根据需要选择在当前窗口连接在新窗口中连接,此时会让你输入密码,然后会在远程端下载所需文件(需要联网),如果无法联网,请看 离线下载vscode-server并安装

2. 离线下载vscode-server并安装
如果远程端不能联网可以下载包离线安装,下载 vscode-server 的 url 需要和 vscode 客户端版本的 commit-id 对应.通过 vscode 面板的帮助->关于可以获取该信息,复制信息,我当前版本如下(提交后面对应的就是 commit_id):

2.1 旧版离线包下载

vscode-server 下载地址如下,其中 commit_id 是上面复制的提交 id:

bash 复制代码
x86:
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
arm:
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-arm64/stable

将下载的文件 vscode-server-linux-x64.tar.gz 解压解包后名为 vscode-server-linux-x64 文件夹改名为 ${commit_id} 放在 /home/${user}/.vscode-server/bin/ 目录下.

2.2 新版离线包下载

在某次更新后远程端的 .vscode-server 目录结构发生变化:

bash 复制代码
📦.vscode-server
 ┣━ 📁bin  # 存放旧方法下的vscode commit相关文件
 ┃   ┗━ 📁${commit_id1}
 ┃   ┗━ 📁${commit_id2}
 ┃   ┗━ ···
 ┣━ 📁cli  # 存放新方法下的vscode commit相关文件
 ┃   ┗━ 📁servers
 ┃   ┃   ┗━ 📁Stable-${commit_id}
 ┃   ┃   ┃   ┗━ 📁server
 ┃   ┃   ┃   ┗━ ···
 ┃   ┃   ┗━ ···
 ┃   ┗━ 📜iru.json  # 存放最近的vscode commit_id
 ┣━ 📜code-${commit_id}  # 存放vscode_cli_alpine_x64_cli.tar.gz解压后名为code的文件,并将其改名为code-${commit_id}
 ┣━ 📁data
 ┗━ 📁extensions

现在需要安装两个文件,两个文件的下载地址如下:

bash 复制代码
x86:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-x64.tar.gz
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode_cli_alpine_x64_cli.tar.gz

arm:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-arm64.tar.gz
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode_cli_alpine_arm64_cli.tar.gz

第一个文件 vscode-server-linux-x64.tar.gz 解压解包后名为 vscode-server-linux-x64 文件夹改名为 server 放在 /home/{user}/.vscode-server/cli/servers/Stable-{commit_id}/ 目录下.

第二个文件 vscode_cli_alpine_x64_cli.tar.gz 解压解包后名为 code 的文件改名为 code-{commit_id}放在/home/{user}/.vscode-server/目录下

2.3 无法连接可能问题

1.权限问题

如果仍然连接不上,则可能需要修改.vscode-server文件夹及其子目录的权限,例如权限改为700,再尝试连接:

bash 复制代码
chmod -R 700 /home/${user}/.vscode-server/

2.ssh 设置问题

打开远程主机的 sshd_config 文件,一般在/etc/ssh/sshd_config文件,找到AllowTcpForwarding no这一行,将 no 改为 yes,然后保存退出.

然后重启 ssh 服务:

bash 复制代码
sudo systemctl restart sshd

3.known_hosts 文件问题

如果仍然连接不上,则可能是由于 known_hosts 文件问题导致的,如果你使用了相同的 ip 地址连接过不同主机就会出现此问题,可以尝试删除 known_hosts 文件,然后再尝试连接,本地主机下执行以下命令:

bash 复制代码
# powershell
rm $env:USERPROFILE\.ssh\known_hosts
# cmd
del %USERPROFILE%\.ssh\known_hosts

免登录连接

参考大佬:

https://blog.csdn.net/qq_43623902/article/details/136258880

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
开发者联盟league3 天前
安装pnpm
ssh
载数而行5203 天前
Linux 11 动态监控指令top
linux