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远程连接服务器的资料请关注脚本之家其它相关文章!

相关文章

  • IE 浏览器安全级别详情及区别小结

    IE 浏览器安全级别详情及区别小结

    排查问题时,定位到可能和当前浏览器的安全级别设置有关,顺便整理了下Windows 7下IE9安全级别的详情内容,及各安全级别下的默认设置差异
    2016-01-01
  • Git基础学习之tag标签操作详解

    Git基础学习之tag标签操作详解

    标签对象(tag object) 非常类似于一个提交对象,它包含一个标签创建者信息、一个日期、一段注释信息,以及一个指针。本文主要介绍了Git标签tag的一些基础操作,需要的可以参考一下
    2022-10-10
  • Wordpress 忘记密码的处理方法

    Wordpress 忘记密码的处理方法

    有时候不小心忘了wordpress的密码了,大家可以按照下面的方法试试。
    2009-05-05
  • git切换到指定远程分支的方法

    git切换到指定远程分支的方法

    这篇文章主要介绍了git切换到指定远程分支的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 遵守这些原则让你开发效率提高一倍(收藏)

    遵守这些原则让你开发效率提高一倍(收藏)

    这篇文章主要介绍了遵守这些原则让你开发效率提高一倍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 用户权限管理设计[图文说明]

    用户权限管理设计[图文说明]

    用户管理权限设计一直是大家讨论的热点,因为几乎涉及到每一个开发的业务系统。我找了很多很多的资料,大家的核心基本上都是一样的:基于角色管理. 用户,角色,模块,权限的相互组合,就可以形成一个强大的权限管理系统。
    2008-12-12
  • 邮件的协议及服务器工作原理

    邮件的协议及服务器工作原理

    本系列教程将会讲解邮件的基本常识与概念,邮件的协议以及邮件服务器的工作原理,然后用JavaMail发送邮件的基本实现过程,邮件内嵌图片等高级邮件技巧。相信大家看完后,一定会有所收获
    2022-05-05
  • 分享10个免费超棒的编程用等宽字体

    分享10个免费超棒的编程用等宽字体

    本文介绍 10 个适合在编程时使用的等宽字体,它们都是免费的,效果很好
    2013-07-07
  • 如何使用git reset进行多commit合并

    如何使用git reset进行多commit合并

    这篇文章主要介绍了如何使用git reset进行多commit合并问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 全网最详细的vscode基础教程

    全网最详细的vscode基础教程

    vscode全称为visual studio code,是微软旗下一款非常优秀的跨平台代码编辑软件。vscode 中文版集成了大部分代码编辑的器的优点,集成GIT、代码调试、语法高亮,拥有强大丰富的插件系统
    2020-01-01

最新评论