通过 Remote-SSH 在 VS Code 中进行远程开发

通过 Remote-SSH 在 VS Code 中进行远程开发

古之立大事者,不惟有超世之才,亦必有坚韧不拔之志——苏轼

写在前面

对目前的开发环境来说,在 Linux 中开发已经是必不可少的一项技能了,但是由于 Linux 的学习成本高,使很多初学者望而止步。

自从 VS Code 1.35.0的发布,Remote 相关插件已经正式上线,我们可以通过 Remote-SSH 插件来在本地的 VS Code 中来编写服务端中的代码,从而减少的大量的服务器端的操作。

正文开始。

前提准备

1. SSH 命令

该插件是 SSH 命令为基础的,想要使用此插件,SSH 命令是必不可少的,不过随着 windows 10 的普及,W10 自带的 PowerShell 一般默认都是带 ssh 命令的,输入 ssh 即可知道安装与否。

如果没有安装,这里不做赘述,请自行百度安装。

2. 安装 Remote - SSH 扩展

该扩展直接通过 VS Code 扩展商店即可进行安装,

这里我已经安装了,没有安装的童鞋自行安装

安装之后在活动栏中会出现远程资源管理器,如果没有出现可以在活动栏右键,勾选 远程资源管理器 即可

3. 配置私钥(可选)

如果配置私钥的话,每次连接是不需要使用密码的,如果不配置的话,每次连接的时候需要重新输入服务器密码。

首先 PowerShell 然后键入如下命令

cd ~/.ssh

然后键入

ssh-keygen

可以直接按回车生成默认的 私钥。

默认的私钥名称为 id_rsa

也可以通过 如下命令

ssh-keygen -t rsa -f remote-ssh -C "vs code remote-ssh key"

添加参数的方式生成密钥,参数详情如下:

 -t type:指定要生成的密钥类型,有rsa1(SSH1),dsa(SSH2),ecdsa(SSH2),rsa(SSH2)等类型,较为常用的是rsa类型
 -C comment:提供一个新的注释
 -b bits:指定要生成的密钥长度 (单位:bit),对于RSA类型的密钥,最小长度768bits,默认长度为2048bits。DSA密钥必须是1024bits
 -f filename:指定生成的密钥文件名字

生成之后可以键入 ls 命令查看结果

[ 10:38:07 ] ~\.ssh ❯ ls


    Directory: C:\Users\Administrator\.ssh

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---            2021/4/1    10:33           1675 id_rsa
-a---            2021/4/1    10:33            396 id_rsa.pub
-a---           2021/3/29    10:36            883 known_hosts
-a---            2021/4/1    10:19           1679 remote-ssh
-a---            2021/4/1    10:19            405 remote-ssh.pub

这里就生成两个私钥。

最后将生成的 id_rsa.pub 文件传到远程根目录下 .ssh/authorized_keys 文件夹中

执行命令如下所示:

 scp id_rsa.pub root@120.77.178.156:~/.ssh/authorized_keys

命令解读

scp 私钥.pub文件 服务器用户名@服务器IP地址:服务器目录

此时我们通过 ssh 命令连接服务器就不需要密码了。

Remote - SSH 的使用

点击设置的小按钮,然后第二步选择可以选择第一个,也可以选择第二个文件进行配置,如果不能自动创建文件,可以根据这个目录进行手动创建文件。

创建文件之后具体配置如下:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 120.77.178.156
    HostName 120.77.178.156
    User root
    IdentityFile C:\Users\Administrator\.ssh\id_rsa

可选的参数如下所示:

  • Host: 连接的主机的名称,可自定

  • Hostname: 远程主机的IP地址

  • User: 用于登录远程主机的用户名

  • Port: 用于登录远程主机的端口

  • IdentityFile: 本地的私钥的路径

多个配置如下所示:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 120.77.178.156
    HostName 120.77.178.156
    User root
    IdentityFile C:\Users\Administrator\.ssh\id_rsa

# 第二个配置
Host 120.77.178.155
    HostName 120.77.178.155
    User root
    IdentityFile C:\Users\Administrator\.ssh\id_rsa

配置完成之后点击

即可打开一个新的 VS Code 窗口,第一次打开可能会弹出如下窗口

根据操作系统选择即可。

连接成功之后即可和本地操作一样,可以直接打开文件夹,

打开自己想要编辑的目录即可。

错误记录

我在配置的过程中,当配置好 ssh 的配置文件时,出现了如下图的问题

这里解决方案有两个

  1. 修改该文件夹的基本权限,大致步骤为:鼠标右键 -> 属性 -> 安全 -> 高级 -> 完全控制。

  2. 在 GitHub 上下载 openssh-portable 项目,下载完成后键入如下命令

     cd .\openssh-portable\contrib\win32\openssh\
    

    然后执行

    .\FixHostFilePermissions.ps1  -Confirm:$false
    

    执行此命令时若提示 无法加载文件 FixUserFil ePermissions.ps1,因为在此系统上禁止运行脚本 错误,则先执行以下命令,然后输入 Y 回车确认后再重新执行(执行完毕后可以再执行以下命令输入 N 恢复默认配置):

    Set-ExecutionPolicy RemoteSigned
    

写在最后

如上就是通过 VS Code 来编写服务器代码的全部过程,相比直接在 Linux 服务器来写代码还是本地舒服一些。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一碗周.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值