• 使用vscode访问和修改远程计算机文件


     这篇文章为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 700 .ssh
    cd .ssh/
    chmod 600 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 52698:127.0.0.1:52698 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端口打开。

  • 相关阅读:
    String substring(int start,int end)截取当前字符串中指定范围内的字符串
    String字符串是不变对象,内容一旦创建不可改变,若改变一定会创建新对象
    StringBuilder修改字符串内容,增,删,改,插
    startsWith(),endsWith()判断当前字符串是否是以给定字符串开始或结尾的
    length()返回当前字符串的字符个数
    indexOf()字符位置
    charAt()检测回文
    手把手教你猜字小游戏
    release 和 drain
    c专家编程 ,c语言运行时环境
  • 原文地址:https://www.cnblogs.com/learn21cn/p/6189023.html
Copyright © 2020-2023  润新知