离线安装vscode server以及免密登录

2023-10-28

背景

代码服务器通常是无网状态,并且普通用户的权限很低,无法在服务器中安装vscode软件,而我们又想要用vscode编辑器,此时应该怎么办?

首先,我们需要在本地安装vscode。

其次,当代码量不大,我们可以考虑用samba的方式,在电脑中创建网络驱动器,然后直接用vscode打开文件夹即可。

但是,当代码量特别大时,并且多人一起办公,这时samba的网络环境就不太稳定,vscode的索引速度就很慢。这时就需要使用vscode自研的remote-ssh插件来连接,也就是在远程服务器安装vscode-server,本地通过remote-ssh连接控制。

vscode-server安装配置过程

1、安装本地vscode

重中之重,本地安装vscode软件,这是开源的,直接官方下载即可。

官方下载链接:vscode官方下载链接

2、下载官方vscode-server插件

下载链接:https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable

其中的$COMMIT_ID要与本地vscode的commit id相同,这是由于remote-ssh要求本地和服务端的版本号相同

3、查看vscode本地版本的commit id

打开vscode软件,点击 help -> about 即可获得commit号,如下图

如图所示,第二步中的链接应该是:https://update.code.visualstudio.com/commit:899d46d82c4c95423fb7e10e68eba52050e30ba3/server-linux-x64/stable

4、在服务器创建vscode-server路径

vscode-server路径是自动生成的。在本地vscode中使用remote-ssh登录服务器,由于网络问题不能自动下载vscode-server的相关文件,导致登录失败。但是会生成.vscode-server路径。remote-ssh登录步骤如下:

使用快捷键 ctrl + shift + p 调出命令窗口

选择 Remote-SSH: Connect to Host...

如果已经设好配置文件,这里选择服务器ip即可。否则,选择 Configure SSH Hosts... 进行配置文件

选择配置文件,如我的配置配件为:C:\Users\chao\.ssh\config 。其代码如下

# 目的主机别名,随意设置,便于记忆即可
Host vsys
    # 目的主机ip
    HostName 192.168.56.25
    # 用户
    User mcpang

设置remote-ssh插件的配置文件,点击 左下角齿轮 -> Settings -> Remote-SSH 在Config File中添加刚才的配置文件路径,如下图

再进行步骤1、2、3,进行连接登录

5、配置vscode server

首先,清空服务器上的文件夹 .vscode-server/bin/COMMIT_ID/,这是第4步登录失败的文件记录,没有什么用,需要删除。

其次,将第2步下载好的server插件(.tar.gz文件)copy到服务器的 .vscode-server/bin/COMMIT_ID/ 文件夹中

然后,使用 tar -zxvf (.tar.gz文件名) --strip-components 1 解压即可

免密登录

  • 经过上述配置中,已经可以登录到服务器中了,但是登录过程中可能会不断的要求输入密码,因此,为了方便起见,我们需要先设置免密登录。

  • 打开cmd,使用dir查看是否有.ssh文件;若没有使用ssh-keygen命令,直接回车到底,则会自动创建.ssh文件,并生成密钥对id_rsa和id_rsa.pub。

  • 将公钥id_rsa.pub复制到服务器的.ssh文件夹的authorized_keys中即可,若没有该文件authorized_keys,可手动创建。

最后

本地remote-ssh登录成功,大功告成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

离线安装vscode server以及免密登录 的相关文章

随机推荐

  • 软考笔记——第九章--软件工程基础知识

    第九章 软件工程基础知识 软件工程概述 软件过程模型 软件开发方法 软件工具与软件开发环境 软件项目管理 软件风险管理 软件度量 1 软件工程概述 软件工程基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实现严格的产品控制 采用
  • call、apply、bind 方法详解

    一 call apply bind 的共同点 改变函数的 this 指向 第一个参数都是 this 要指向的对象 二 call apply bind 的区别 call apply 都是立即执行 bind 不会立即执行 因为 bind 的返回
  • vue实现甘特图

    1 引入依赖 npm install dhtmlx gantt 6 3 7 2 组件代码
  • python: 运行import tensorflow as tf 出错讯息的解决,CUDA版本查看方法

    Tensorflow 由 Google Brain 开发和维护 广泛应用于各类机器学习machine learning 最近想试用一下 在pycharm上用Python 结果一开始就出问题了 第一句 import tensorflow as
  • 剑指 Offer 52. 两个链表的第一个公共节点(java+python)

    输入两个链表 找出它们的第一个公共节点 如下面的两个链表 在节点 c1 开始相交 示例 1 输入 intersectVal 8 listA 4 1 8 4 5 listB 5 0 1 8 4 5 skipA 2 skipB 3 输出 Ref
  • 时间复杂度分析

    目录 前言 最好 最坏情况复杂度 平均情况时间复杂度 均摊事件复杂度 总结 前言 本文作文学习极客时间课程 数据机构与算法之美 课程的一些笔记与感悟 有兴趣的朋友希望大家关注课程 非常好的课程 不要惧怕数据结构与算法 当你学完整篇专栏 会对
  • 01背包--数组能否分成两个和相同的数组

    1 2 6 3 可以分成 1 2 3 和 6 思路 此题可以用0 1背包问题来解决 分成的两个数组之和 一定为整个数组之和的一半 所以将背包容量设为初始数组之和的一半即可 最后在判断背包所装的容量是不是整个数组之和的一半 关于01背包问题的
  • python 中字典对象按照 value 排序

    dit 1 a 1 b 2 c 2 d 直接使用sorted方法 只能根据key进行排序 sorted dit Out 6 2 1 1 2 如果需要根据value排序 可以 sorted dit items key lambda x x 1
  • 【计算机网络】3、IO 多路复用:select、poll、epoll、reactor

    文章目录 一 select 1 1 用法 1 1 实战 二 poll 2 1 用法 2 2 实战 三 阻塞 非阻塞 3 1 非阻塞 IO 3 1 1 read 3 1 2 write 3 1 3 accept 3 1 4 connect 3
  • 关于Lattic Diamond软件安装不成功问题(license问题)

    今天搞了一上午的软件 都快放弃了 最后发现竟然是环境变量的问题 顿时感觉自己太费了 这么简单都没发现 正常按照教程安装完显示的结果应该是这样的 这时候报错是因为还没有安装license 这个教程里也有 一步步来就行 但是要吐槽的一点就是这个
  • C语言初学者必学必会的C语言必背100代码

    对于C语言这门计算机语言 算是老生常谈了 现在就由我来给大家分享几个关于C语言的几个代码吧 如果有错的地方还望见谅 1 入门级别hello world include
  • 【ES6】let、const、var详解

    let let用于声明变量 特点 1 let不能重复声明变量 2 let声明的变量不会变量提升 3 let声明的变量不属于顶层对象 4 let声明的变量具有块级作用域 let生成了对应的块状作用域 找到i值 let arr for let
  • 解决“至少有一个JAR被扫描用于TLD但尚未包含TLD”的问题

    一 问题描述 26 Aug 2020 18 52 00 419 信息 RMI TCP Connection 3 127 0 0 1 org apache jasper servlet TldScanner scanJars 至少有一个JAR
  • 微服务的优点

    在这里插入图片描述 1 简而言之 微服务就是开发一组小型服务的方式来开发一个独立的应用系统 每个小型服务都运行在自己的进程中 并采用HTTP资源API轻量级的机制来互相通信 这些服务围绕业务功能进行构建 并能通过全自动的部署机制来进行独立部
  • 虚拟机隔离和容器隔离机制及区别

    1 虚拟机隔离机制 通过虚拟化技术虚拟出资源完全独立的的主机 支持虚拟化的层是hypervisor hypervisor是一种虚拟化服务器的软件 2 Docker容器的隔离机制 Docker利用Namespace实现系统环境隔离 采用Cgr
  • 十进制小数转换成二进制的原理理解

    十进制小数转换成二进制的原理理解 在学习浮点数据类型的时候 涉及到了10进制的小数如何转成2进制数的问题 此文章不讨论精度问题 仅涉及转换原理 乘2取整 学习到的方法是 乘2取整 但是一直不知道具体原理是什么 现在从数学上说明一下原理 乘2
  • 你真的了解Python吗?这篇文章可以让你了解90%

    人们为什么使用Python 之所以选择Python的主要因素有以下几个方面 软件质量 在很大程度上 Python更注重可读性 一致性和软件质量 从而与脚本语言世界中的其他工具区别开发 此外 Python支持软件开发的高级重用机制 例如面向对
  • phpstorm 实现SFTP开发,线上线下同步(实时更新代码)

    phpstrom是一个功能非常强大的IDE 甚至在修改SFTP项目时 不需要使用FTP软件将项目download到本地 修改后再提交到服务器覆盖的传统方式 就能做到远程动态连接和修改 非常方便十分适合开发微信项目 1 打开工具栏 Tools
  • 荣耀8 android8.0 2018,荣耀手机EMUI8.0+ Android8.0最新适配计划

    官方活动 荣耀手机EMUI8 0 Android8 0最新适配计划 3941603381 电梯直达 荣小耀同学 天下无双 发表于 2018 3 20 10 06 16 来自 浏览器 最新回复 2020 6 6 19 29 29 亲爱的花粉
  • 离线安装vscode server以及免密登录

    背景 代码服务器通常是无网状态 并且普通用户的权限很低 无法在服务器中安装vscode软件 而我们又想要用vscode编辑器 此时应该怎么办 首先 我们需要在本地安装vscode 其次 当代码量不大 我们可以考虑用samba的方式 在电脑中