vscode连接远程服务器+解决卡死setting up ssh host问题+could not establish connection to

0 在服务器端安装SSH(一般已有)

sudo apt-get install openssh-server

然后确认sshserver是否启动了:

ps -e |grep ssh

如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。

ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:

sudo /etc/init.d/ssh restart


1 下载VScode
2 安装ssh插件
根据你的操作系统选择对应的版本进行下载和安装。 安装完成之后,启动vscode,选择左侧Extensions 选项卡,在输入框搜索 remote ,选择安装Remote-SSH插件。


image.png

安装完成之后会在左侧新增一个选项卡Remote Explorer,如下图所示:


image.png

3、添加服务器连接配置
点击该选项卡,会进入SSH TARGETS的添加,如下图所示:


image.png

点击添加按钮,输入远程服务器的地址,账号和ip根据自己的情况进行修改,如下图所示:
image.png

image.png

保存之后,会将刚才的连接信息存储在 C:\Users\chaxun.ssh\config 中


image.png

此时就可以在SSH TARGETS中看到添加的远程服务器地址了:
image.png

4、连接服务器
右键选择远程服务器,点击Connect to Host in Current Window:
image.png

image.png

image.png

5、基本操作
image.png

image.png

[图片上传中...(image.png-cd4e69-1701576335922-0)]
点击ok按钮打开 /home/zhaxun 之后,会需要再次输入密码:


image.png

如果以上步骤都成功了,那么就会在文件选项卡中看到远程服务器目录下的所有文件了:
image.png

image.png

删除文件,重命名等操作可以在右键菜单中找到:
image.png

当然了,你也可以在terminal中使用shell命令进行操作!
    如果下次还想打开远程服务器怎么办?这些信息都会存储在Remote Explorer中,如下图所示,此时只需要右键再次打开即可!
image.png


Vscode ssh卡死在setting up ssh host
一、config文件里删除了重新添加,也就是删除连接重新连接

二、.ssh文件夹权限不足的原因导致
1.找到.ssh文件夹。它通常位于C:\Users,例如C:\Users\Akkuman。
2.右键单击.ssh文件夹,然后单击“属性”。
3.找到并点击“安全”标签。
4.然后单击“高级”。 单击“禁用继承”,单击“确定”。 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。
5.你会注意到所有用户都将被删除。让我们添加所有者。在同一窗口中,单击“编辑”按钮。
6.接下来,单击“添加”以显示“选择用户或组”窗口。
7.单击“高级”,然后单击“立即查找”按钮。应显示用户结果列表。 选择您的用户帐户。并赋予全部控制权!
8.然后单击“确定”(大约三次)以关闭所有窗口。
9.完成所有操作后,再次关闭并打开VSCode 并尝试连接到远程SSH主机。
现在这个问题应该解决了。
10.取消只读

如果卡死downloading ssh...
1 网络问题,检查网络
2 还不行的话,关掉Remote SSH里面的一个设置,如下图:


image.png

或者把下图的这个设置改成always也可以,用这个就他自动在本地下载上传上去就不用手动下载了


image.png

如果卡在Setting up SSH Host XX:Copying VS Code Server to host with scp
可能是是因为在远程的服务器下 home目录/.vscode-server/bin/f80445acd5a3da24aa209168452a3d97cc32(一串很的东西,这里叫做commit_id吧)/vscode-servlet.tar.gz 没有下载下来。本地下载再上传上去解压出来就可以了。这里可以使用ls - la来进行查看这个文件的大小,看一下是不是没有下载成功。(一般情况都是这个原因,没有下载成功)
解决措施
我们采用手动下载,不让服务器下载。
首先查看commit_id,在Help-About里查看

旧版vscode解决方法:
1.进行下载vscode-servlet.tar.gz。通过下面的连接进行下载

https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable

(注意把:${commit_id}替换成对应的Commit ID,Commit ID可以查看help-about里)
2.运行下面这行命令。把~/.vscode-server/bin目录下的东西删除干净。

rm ~/.vscode-server/bin/* -rf

3.没有~/.vscode-server/bin目录的话进行创建,有的话请忽略这一步。

mkdir -p ~/.vscode-server/bin

4.将下载的压缩包vscode-server-linux-x64.tar.gz放在~/.vscode-server/bin目录下。
5.运行下面这三行命令,其中${commit_id}需要替换成第2步记录的commit_id.

cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 ${commit_id}

6.重新启动vscode即可。

新版vscode解决方法:
1 由于vscode版本更新了,因此新的下载内容应该为:

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

下载完成得到的tar.gz文件


image.png

2 文件解压缩
进入到远程服务器,创建.vscode-server目录

mkdir -p ~/.vscode-server/bin
mkdir -p ~/.vscode-server/cli

将下载的文件上传到服务器


image.png

对两个文件进行解压

tar -zxf vscode-server-linux-x64.tar.gz
tar -zxf vscode_cli_alpine_x64_cli.tar.gz
image.png

3 移动文件到指定位置
具体的目录结构为,缺的自己创建。

📦.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

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

# 重命名
mv vscode-server-linux-x64 server
# 移动
mv server ~/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/

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

mv code ~/.vscode-server/code-e10f2369d0d9614a452462f2e01cdc4aa9486296

可自行在cli下面创建一个iru.json文件,内容为["Stable-$commit_id"]

重启vscode,大功告成!



could not establish connection to xxx
情况一:报错试图写入管道不存在
把本地的config文件删除(一般是C/user/.ssh/config),然后重新连接(会自动生成新的)
情况二:SSH插件extension设置里加入config选项加上本地config文件目录,如C/user/.ssh/config


修改文件显示顺序
code-> perferences->settings
search->explorer.sortOrder


设置取消打开文件目录的自动定位跟踪功能
文件-->首选项-->设置-->在搜索栏中搜索:explorer.autoReveal; 去掉勾选(或设置为false)即可。


打开的多个文件分行(栏)排列显示
按住 ctrl + shift + p


image.png

输入 open workspace settings,选择打开工作区设置


image.png

输入workbench.editor.wrapTabs,勾选该设置项即可


image.png

免密登录网络问题,下载很快,上传很慢,甚至不能上传过大或过多的文件到服务器时的临时替补方法 - 简书

vscode扩展主机在过去5分钟内意外终止了3次,解决方法:
1 先试试删除不必要的插件看看,不行就试试2的方法
2 重置 VSCode 的远程服务器环境
删除服务器上的 .vscode-server 文件夹,以便 VSCode 在下一次连接时重新创建一个干净的环境

# 删除 .vscode-server 文件夹
rm -rf ~/.vscode-server

出现连接问题请看上面的解决方法。

参考链接:https://blog.csdn.net/IT_Holmes/article/details/119364817
vscode连接远程服务器(傻瓜式教学)-CSDN博客
visual-studio-code – 如何更改VS Code的文件排序?_vscode按时间进行排序-CSDN博客
vscode 文件标签栏多行显示_vscode 文件栏多行-CSDN博客
VS Code 设置取消打开文件目录的自动定位跟踪功能。-CSDN博客
vscode卡在Setting up SSH Host XX:Copying VS Code Server to host with scp-CSDN博客
vscode卡在Setting up SSH Host XX:Copying VS Code Server to host with scp-CSDN博客
VScode连接远程服务器踩坑实战(新版离线vscode-server安装)_vscode server-CSDN博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容