这篇文章为Remote Development扩展出现之前所应用的技术,在Remote Development扩展出现后,可直接使用扩展,详情请参阅使用vscode进行远程开发

以下为旧文档,仅作记录。

使用vscode访问和修改远程文件,分三步实现:在远程linux机器上安装rmate;在本地windows上安装openssh;在vscode中安装扩展remote vscode。

1、 在远程linux机器上安装rmate

rmate有很多中语言版本,这里用的是python的版本。github地址:https://github.com/sclukey/rmate-python

下载安装比较简单,在linux中执行以下命令即可

wget https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate

2、在本地window中安装openssh

github地址:https://github.com/openssl/openssl/blob/master/INSTALL

这个是需要自己编译的,推荐直接利用window版的安装包:https://www.mls-software.com/opensshd.html

推荐使用exe版本。如果下载的是免安装的版本,需要在windows设置一下环境变量,到解压后的bin目录。安装完成运行ssh命令会有以下提示:

可以直接运行 ssh-keygen -t rsa 命令生成密钥对,一般默认的文件夹会在当前用户目录下的.ssh文件夹中。在windows的命令行中实现对远程linux的免密码登录,和在linux系统中的方式是一样的,将windows中生成的公钥id_rsa.pub文件追加到所用的linux登录用户的.ssh目录中的authorized_key文件中即可。

要使authorized_key生效,需要需要对sshd_config文件进行修改,主要是以下三项,取消注释即可

vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

之后,执行 service sshd restart 命令重启sshd服务

service sshd restart
# 之后
cat id_rsa.pub >> authorized_keys
# 注意文件的路径

注意的是,如果使用的linux登录用户不是root用户,需要修改以下.ssh文件夹以及authorized_key文件的权限,否则是无法实现免密码登录的

chmod  .ssh
cd .ssh/
chmod authorized_keys

3、安装remote vscode扩展

扩展地址:https://marketplace.visualstudio.com/items?itemName=rafaelmaiolla.remote-vscode

安装完成后,面板中点击Start Server,启动服务(这一步是必须的)

之后打开终端(【查看】——【集成终端】),输入以下命令:

 ssh -R 52698:127.0.0.1:52698 登录linux用户名@linux计算机ip地址

# 例子
ssh -R :127.0.0.1: learn@192.168.1.215
ssh -R 52698:127.0.0.1:52698 learn@192.168.1.215 -p 2159
# 上面2159为端口号,只是例子,ssh默认通过22端口访问远程主机,出现这种情况可能是更改了端口,也可能是存在端口的转发。
# 之后
rmate -p 52698 linux中的文件名称

结果会打开相应的文件:

之后可以直接进行修改了。

此外,如需设置扩展自动启动,只需点一下【工作区设置】,这样会自动添加setting.json文件

在文件中进行如下设置即可。

最后,如果开启了防火墙,需要把所用到的52698端口打开。

使用vscode访问和修改远程计算机文件的更多相关文章

  1. ftp获取远程Pdf文件

    此程序需要安装ftp服务器,安装adobe reader(我这里使用的adobe reader9.0) 1.部署ftp服务器 将ftp的权限设置为允许匿名访问,部署完成 2.安装adobe reade ...

  2. 本地VSCode编辑远程服务器文件

    前言 先说下我的场景:服务器搭设了一系列复杂环境,然后需要使用PHP实现某些功能 选这种远程编辑的原因: 首先PHP打死我也不想装(这个现在是出了VB外最惹人厌的语言了) 然后环境比较复杂,本地装下比 ...

  3. #在windows上使用ngix重定向目录访问远程服务器文件详细实例

    为了在开发环境保持于生产环境相同的访问远程服务器文件资源的目录配置,需要在开发环境(windows)在远程文件服务器使用nignx重定向文件目录,因为网上的资料大都是copy的,解释比较笼统,也没有具 ...

  4. [原创]用windows7连接windows2003的终端服务器时,出现"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的问题

    用windows7连接windows2003的终端服务器时,出现"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的问题,原因是终端服务器授权方式设置为了"每 ...

  5. touch — 设定文件的访问和修改时间

    PHP touch 设定文件的访问和修改时间 touch (PHP 4, PHP 5) touch — 设定文件的访问和修改时间 说明 bool touch ( string $filename [, ...

  6. 分享CCNTFS小工具,在 macOS 中完全读写、修改、访问Windows NTFS硬盘的文件,无须额外的驱动(原生驱动)更稳定,简单设置即可高速传输外接NTFS硬盘文件

    CCNTFS [ 下载 ] 在 macOS 中完全读写.修改.访问Windows NTFS硬盘的文件,无须额外的驱动(原生驱动)更稳定,安装后进行简单设置即可高速传输外接NTFS硬盘文件,可全程离线使 ...

  7. 从windows本地IDE启动远程Linux文件进行调试

    1)  因为WingIDE调用putty和plink进行ssh连接,需要先设置putty. 点击下载putty,并解压,把解压路径附到操作系统PATH环境变量中,之后重新启动WingIDE,让它重新读 ...

  8. windows server 2008 IP安全策略关闭端口,禁止ping,修改远程连接3389端口,开放指定端口

    windows server 2008 IP安全策略关闭端口:      Tomcat服务访问不了情况解决.    Windows默认情况下有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这 ...

  9. (转)WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服务登录的权限”的解决办法

    原文:http://www.chunfengxiyu.com/ws2008-mstsc-privilege.html WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服 ...

随机推荐

  1. github的使用

    1.gitbub概念 github是一个基于git的代码托管平台,付费用户可以建私人仓库,免费用户用公共仓库,但是代码公开. 2.注册账户以及创建仓库 在github官网地址:https://gith ...

  2. 《java JDK7 学习笔记》之对象封装

    1.构造函数实现对象初始化流程的封装.方法封装了操作对象的流程.java中还可以使用private封装对象私有数据成员.封装的目的主要就是隐藏对象细节,将对象当做黑箱子进行操作. 2.在java命名规 ...

  3. 刷题ING...

    我用codeVS刷题.. 努力准备!!

  4. [原创]java WEB学习笔记51:国际化 概述,API 之 locale类,dataFormat类,numberFormat类, MessageFormat类,ResourceBundle 类

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. [转载]DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000)

    一.错误情况 环境:win7+iis7.0 DirectoryEntry配置IIS7出现如下错误 或者是 下面一段代码在IIS6.0下运转正常,但IIS7.0下运转会出错: System.Direct ...

  6. java面试大全

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  7. 第十章 MyBatis入门

    第十章   MyBatis入门10.1 MyBatis入门        优点:简单且功能强大.能够完全控制SQL语句.容易维护和修改    缺点:移植性不好    使用步骤:        1.下载 ...

  8. 51 nod 1610 路径计数(Moblus+dp)

    1610 路径计数 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   路径上所有边权的最大公约数定义为一条路径的值. 给定一个有向无环图.T次修改操作,每次修改一 ...

  9. how tomcat works读书笔记 七 日志记录器

    大家可以松一口气了,这个组件比较简单,这一节和前面几节想比,也简单的多. Logger接口 Tomcat中的日志记录器都必须实现org.apache.catalina.Logger接口. packag ...

  10. [HTTP]POST报文中Content-Type对正文解析的影响

    概述 在POST请求中,理论上请求端程序可以发送任意格式报文正文,但是最好在报文头Content-Type字段标明正文的格式,方便接收端根据Content-Type正确处理正文. 传统HTML-for ...