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

Posted learn21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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端口打开。

以上是关于使用vscode访问和修改远程计算机文件的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段2——.vue文件的模板

通过vscode的SSH隧道打开一个Matplotlib图

VSCode 如何操作用户自定义代码片段(快捷键)

[vscode]--HTML代码片段(基础版,reactvuejquery)

VSCode自定义代码片段——声明函数