VSCode通过SSH连接远程服务器(附带WIN10中SSH密钥权限过大解决方案)

引言

最近,开始学习使用VS Code,之前远程调试后端习惯了,换了新环境,首先还得先连上我可爱的服务器才行。VS Code这点还是挺方便的,利用Remote - SSH插件,简单配置下就可以了。不过其中也遇到了一点问题,这里给大家简单聊下。

安装Remote-SSH插件

Extensions项中搜索Remote - SSH插件,点击install,安装即可,安装后,在VS Code软件最右侧,也就是Extensions项下面出现一个新的图标,就是SSH连接图标,如下图所示。通过点击该图标,可以连接运行有SSH服务的服务器,简化开发和管理。
SSH图标

配置SSH连接参数

点击上图中,SSH TARGETS后面的+号,在主界面弹出的框中输入ssh 服务器网址或IP地址,如ssh 192.168.1.1·等,回车后,弹出配置文件保存位置,默认选择第一项即可,确认后,右下角会有提示,同时左侧SSH TARGETS下面会出现刚才的服务器网址或IP列表。
在这里插入图片描述
在这里插入图片描述
这时,不要急于点击左侧列表进行连接,因为还没有将我们的服务器密钥信息写入配置文件。我们点击SSH TARGETS后面的设置图标,打开刚才的配置文件,即C:\Users\用户名\.ssh\config文件。
在这里插入图片描述
config文件中配置以下代码,需要添加User、Port、IdentityFile字段,添加完成后保存。

Host 服务器IP或网址
  HostName 服务器IP或网址
  User 服务器用户名
  Port SSH服务端口,默认为22
  IdentityFile "替换为你的服务器SSH密钥路径"

SSH密钥连接服务器

之后点击左侧列表主机名后面带+号的文件夹图标进行服务器连接,在弹出的新窗口中选择远程服务器的操作系统类型,如Linux、Windows或macOS,之后开始建立连接。正常情况下连接成功后,界面如下图所示,左下角显示绿色,主机列表图标也加了个绿色的对号。
在这里插入图片描述
这里特别说明下我遇到的问题。可能有些朋友会和我一样,各项参数配置没有问题,但依然连接不上,如下图所示。这里我们分析下错误信息:

Permissions for 'F:/...' are too open. 
It is required that your private key files are NOT accessible by others. 
This private key will be ignored.

原来是我的服务器密钥文件权限过于开放,系统认为不安全,终止了连接。使用SSH密钥登录,需赋予私钥文件仅本人可读权限。 所以我们这里需要做的事情就是重新给密钥文件分配权限。
在这里插入图片描述
怎么分配权限呢?其实很简单,以我使用的WIN10为例,分为两步:

  • 清空文件所有用户权限
    在密钥文件右键,依次点击 属性 -> 安全 -> 高级 -> 禁用继承 -> 从此对象中删除所有已继承的权限,最后点击应用确定
  • 设置特定用户访问权限
    针对我们当前用户,设置对该文件的访问权限,在密钥文件右键,依次点击 属性 -> 安全 -> 高级 -> 添加 -> 选择主体 -> 高级 -> 立即查找,选择当前用户后,一路确定即可。最终文件权限如图所示。
    在这里插入图片描述
    具体过程可参考这篇文章,写得很详细,有动图。 win10 通过 ssh 连接云服务器失败 are too open. bad permissions.

远程操作服务器文件

连接成功后,打开左侧Explorer项,点击Open Folder按钮,即可通过路径选择远程服务器上的相应文件夹,像本地一样进行操作。
在这里插入图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值