vscode ssh远程连接服务器的思考浅析

 更新时间:2023年02月02日 15:09:41   作者:逐光而行  
这篇文章主要为大家介绍了vscode ssh远程连接服务器的思考浅析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

过往经验总结

注:笔者写本文的目的不是完整细致地描述连接的全过程,而是记录当中遇到的现象、问题,及为什么会产生这个问题的分析。所以部分过程会省略,或者默认读者都是很熟悉各种操作的。

使用ssh远程连接,要获知目标主机的ip地址,并使用正确的密码或密钥。

笔者之前曾尝试过用不同的工具来连接服务器。 其中,

  • putty和xshell本身就是支持多种连接协议的连接工具。 用它们连接很方便。输入密码就是尝试建立连接时输入用户名之后再输;输入密钥就是要找到该工具对应的配置入口。一些字体大小、发送请求时长之类的参数设置也可以直接在工具界面找到。
  • idea之类的IDE现在也有了remote ssh 的功能。这个ssh是IDE自带的。 它连接简单,傻瓜式操作。只需要在新建项目界面,点击远程连接的按钮,一步步往下就成功了。 但它有个特点,就是有点卡。这和它处理文件的机制有关系,后面会细说。

关于vscode

其实vscode本质上只是一个编辑器,它强大的功能依托于各种可安装的插件。 很多插件本质上就是将 已有 的功能在vscode中以另一种形式展现出来。

举个例子,小明还没有在本机安装git,那他安装的和git有关的插件是不会生效的。同理,vscode的ssh本质上是将电脑已有的ssh服务在vscode中呈现。如果连接不上,要么是插件本身有问题(基本排除,真有问题应该很多人给差评了),要么是本机的ssh服务有问题,要么是参数设置有问题。

与ssh有关的两个配置文件

.ssh/config 这是对单个ssh连接的配置信息,格式可参照如下:

Host <连接的主机名(可以自己取>
  HostName <主机ip地址>
  User <连接的用户>
  IdentityFile <认证文件,也就是密钥文件的路径>

settings.json 这是对vscode的全局配置,其中也可以加入ssh相关的内容,比如设置使用的ssh服务路径。

报错解决:ssh连接时提示管道不存在

问题

网上说是win10自带的openssh的问题。

我在cmd上尝试过直接使用该工具,发现会提示私钥文件权限太大,故禁止连接。

由此确认是本机ssh服务的问题

解决方案

方案一:使用git中的ssh作为替代

  • 找到该ssh的位置:在git中用 whereis ssh命令。(windows则进入git-bash来敲命令)
  • settings.json中加入如下一行: "remote.SSH.path":<git路径+git中ssh路径的拼接体>,

保存后重启vscode。

方案二:修改私钥文件权限

网上有博客文章介绍过具体操作,总结来说就是鼠标点按钮一步步找到入口然后设置目标主机对文件的访问权限,同时禁止其他用户的权限。不过我没有用这种方式,因为我对windows自带的openssh其实是不太放心的。

各方式远程连接项目文件的性能对比

现象

  • 同时打开多个putty/xshell终端以显示项目文件没问题
  • 同时用多个vscode窗口打开项目也没问题
  • 同时用IDE打开两个及以上项目文件会导致服务器死机
  • 一个ide,再来一个vscode也不行

原因分析

  • IDE比较耗性能,vscode更轻量
  • 两者对文件的同步方式不同。 当连接中断时,vscode上显示的当前项目文件也没有了,但是idea上的还在,只是改了之后不能同步到远程主机了。这说明,vscode只是将远程终端上的内容换种形式呈现出来,而idea则是在本地也备份了一份文件。

以上就是vscode ssh远程连接服务器的思考浅析的详细内容,更多关于vscode ssh远程连接服务器的资料请关注脚本之家其它相关文章!

相关文章

  • git clone如何指定历史版本

    git clone如何指定历史版本

    这篇文章主要介绍了git clone如何指定历史版本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 一个批量编码转换及ASP/JS加解密/简繁转换的工具

    一个批量编码转换及ASP/JS加解密/简繁转换的工具

    一个批量编码转换及ASP/JS加解密/简繁转换的工具...
    2007-05-05
  • git push 本地项目推送到远程分支的方法(git命令版)

    git push 本地项目推送到远程分支的方法(git命令版)

    这篇文章主要介绍了git push 本地项目推送到远程分支的方法(git命令版),需要的朋友可以参考下
    2020-09-09
  • Clion ROS开发环境设置技巧

    Clion ROS开发环境设置技巧

    这篇文章主要介绍了Clion ROS开发环境设置技巧,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 网站开发中的文件存储目录结构的探讨

    网站开发中的文件存储目录结构的探讨

    网站应用中经常会有文件存储的需求,目录结构该怎么建才好呢?让我们来做下分析
    2010-07-07
  • 解决git配置错误ssh:connect to host github.com port 22:Connection refused

    解决git配置错误ssh:connect to host github.com 

    学习git时,可能会碰到远程仓库连接问题,解决方法是确保.ssh目录正确配置,首先,确认.ssh是隐藏文件夹,可通过ctrl+h显示,然后,创建无后缀的config文件,并填写正确的git邮箱账号,最后,通过终端验证配置是否成功,这些步骤有助于解决git远程连接的常见问题
    2024-10-10
  • 详解Git 的 rebase 命令使用方法

    详解Git 的 rebase 命令使用方法

    这篇文章主要介绍了Git 的 rebase 命令使用方法,接下来,我们使用rebase命令,其命令一般形式为git rebase feature,即表示在 master 分支上执行rebase命令,将 feature 分支的代码合并到 master 分支,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • git丢弃本地修改的所有文件(新增、删除、修改)

    git丢弃本地修改的所有文件(新增、删除、修改)

    这篇文章主要介绍了git丢弃本地修改的所有文件(新增、删除、修改),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • git提交出现commit提醒信息界面怎样退出

    git提交出现commit提醒信息界面怎样退出

    这篇文章主要介绍了git提交出现commit提醒信息界面怎样退出问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 网站分站的实现方法

    网站分站的实现方法

    现在一般的行业门户网站为了业务的发展和网络推广,一般都会开通几个地区和子行业的分站。下面是一些解决思路,需要的朋友可以参考下。
    2010-06-06

最新评论