共计 1669 个字符,预计需要花费 5 分钟才能阅读完成。
使用 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 端口打开。
http://www.linuxidc.com/Linux/2017-10/147241.htm