环境介绍

服务器:腾讯云 + centos + onestack搭建好的lnmp环境

本地:mac

安装openssh

sudo yum install openssh-client openssh-server openssh-sftp-server

配置

ssh方式连接sftp的配置文件在/etc/ssh/sshd_config, 可以在该文件指定端口号和相关参数。修改配置后需要重启ssh

  • centos: systemctl restart sshd
  • ubuntu: service restart ssh

命令行连接sftp

本地终端执行:

sftp -P22 root@{ip地址}
# 设置了密码的需要输入登录密码。

连接成功后默认进入的是登录用户的用户目录,root用户进入到/root目录,admin用户进入到/home/admin目录。

问题:vscode 无法同步

初始配置

{"name": "{服务器ip}","host": "{服务器ip}","protocol": "sftp","port": 22,"username": "root","password": "{对应的用户密码}","remotePath": "/data/wwwroot/www.i2arch.tech/frontend","uploadOnSave": true,"ignore": [".vscode", ".git", ".DS_Store", "node_modules", "vendor"]
}

问题

终端连接成功后,配置sftp sync插件,但是上传和下载时提示Permission Denied

问题分析

由于我的服务器上root用户配置了禁用密码登录,只能使用ssh登录,所以不用设置password项,即使设置了也是无效的。而sftp的配置默认加载的私钥文件是~/.ssh/id_rsa。而我设置连接服务器的秘钥文件是~/.ssh/github_rsa

调整后:

{"name": "{服务器ip}","host": "{服务器ip}","protocol": "sftp","port": 22,"username": "root","remotePath": "/data/wwwroot/www.i2arch.tech/frontend","privateKeyPath": "/Users/kameila/.ssh/github_rsa","uploadOnSave": true,"ignore": [".vscode", ".git", ".DS_Store", "node_modules", "vendor"]
}

此后便可以成功同步服务器文件。

备注

起初服务器搭建sftp参考了教程Linux 配置SFTP,配置用户访问权限,按操作创建单独的sftp用户组sftp-users,单独的sftp用户admin,单独的文件同步目录/home/admin,等等。但是操作完有一系列问题。

问题1: 单独的文件同步目录/home/admin需要设置成sftp用户组和用户的访问权限,但是我的web服务器nginx的目录是/data/wwwroot/www.i2arch.tech/frontend,并且nginx配置里面需要web目录的权限用户组和用户是www。这导致sftp同步文件之后还需要考虑方案来让nginx服务器直接能够访问sftp同步目录。

对于sftp同步目录nginx的web目录不一致的问题还可以通过修改nginx虚拟主机配置文件的根目录或者建立软链的方式解决,但是目录权限的问题却没有想到好的办法。

经过一系列尝试以后,最后想着与其修改nginx的配置重定义根目录用户组和用户,不如通过修改sftp组名和用户名的方式调整,并且后来查看公司sftp的配置文件,发现公司的这个配置文件并没有重新定义用户组和用户,所以感觉好像没必要创建单独的组合用户,于是索性没再按照上述教程中的步骤,直接通过root或admin用户访问。

绕了一大圈的感觉,但是不知道这种方式对于企业级项目会不会存在安全隐患,目前个人服务器上使用对于安全的要求没有那么大,先这样使用,如果有问题再做调整。

转载于:https://www.cnblogs.com/zqunor/p/11557019.html

vscode使用sftp同步服务器文件相关推荐

  1. phpstorm连接php文件夹,PHPstorm配置同步服务器文件

    一.配置服务器 1.连接配置 打开菜单栏 Tools -> Deployment -> Configuration 点击 + 选择 SFTP,并填写相关服务器信息: Type:连接类型,这 ...

  2. PHPstorm配置同步服务器文件

    一.配置服务器 1.连接配置 打开菜单栏 Tools -> Deployment -> Configuration 点击 + 选择 SFTP,并填写相关服务器信息: Type:连接类型,这 ...

  3. php实现服务器文件同步,PHPstorm配置同步服务器文件

    1.配置服务器 一.链接配置服务器 打开菜单栏 Tools -> Deployment -> Configurationapp 点击 + 选择 SFTP,并填写相关服务器信息:测试 Typ ...

  4. php 同步文件到服务器上,PHPstorm配置同步服务器文件

    一.配置服务器 1.连接配置 打开菜单栏 Tools -> Deployment -> Configuration 点击 + 选择 SFTP,并填写相关服务器信息: Type:连接类型,这 ...

  5. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法

    win10系统一键同步win 10文件夹视图的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统一键同步win10文件夹视图的的现象,根据小编的调查并不是所有的朋友都知道win10系 ...

  6. u盘同步服务器文件,GoodSync配合U盘助你自动同步文件

    首页 > 新闻动态 GoodSync配合U盘助你自动同步文件 目前许多用户需要把文件带回家处理,保持单位和家里的文件同步非常重要.这里介绍一个自动同步文件的"机器人":Goo ...

  7. win10同步服务器文件夹在哪里找,Win10 iTunes备份文件在什么位置|win10 itunes备份文件如何查看...

    iTunes是一款非常受欢迎的数字媒体播放应用程序,它会自动将手机内容进行备份.同步,防止资料丢失.最近,有很多朋友向小编咨询windows10 itunes备份文件在哪?下面,系统城小编就为大家介绍 ...

  8. git 同步服务器文件,同步本地 / 服务器代码 - Git 篇

    已经习惯用 Git 进行开发了,不得不说 Git 的确是个很好用的开发工具 有的时候经常会需要一边维护一个 Git 库,一边将代码部署到服务器上 例如团队共同进行开发,希望 commit 后自动部署到 ...

  9. win10同步服务器文件夹在哪,win10系统电脑一键实现文件夹视图同步的操作办法...

    win10系统使用久了,好多网友反馈说关于对win10系统win10系统电脑一键实现文件夹视图同步的操作方法设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统win10系统电脑一 ...

最新文章

  1. linux 根目录爆满 解决 /dev/mapper/centos-root 100%问题
  2. python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计
  3. 11.6 mpstat:CPU信息统计
  4. php 移植 arm 精简,arm linux 移植 PHP
  5. jQuery——入门(三)JQuery DOM操作(核心处理和文档处理)
  6. An error occured instantiating job to be executed. job-Quartz的Job无法实例化原因及解决方案总结
  7. leetcode74:二维矩阵搜索问题
  8. hbase的数据结构的简单总结
  9. Bailian4021 最大乘积【序列处理】
  10. arcgis导出地图分辨率多少合适_地图册制作:ArcGIS分幅制图——以深圳地铁线路图为例...
  11. 【百度地图API】如何制作孪生姐妹地图?
  12. Java中hashCode()与 equals()
  13. 酒店客房管理系统(C语言)
  14. 银联统一规范的收单业务消息域
  15. HTML/CSS/Javascript注册登陆界面全模版(表单验证/验证码生成/敏感词屏蔽/炫酷动画/账号信息储存)
  16. Final IK详解
  17. 【图像分割】基于区域的重叠椭圆拟合实现细胞分割附matlab代码
  18. ios网易大白Crash自动防护
  19. 安卓Activity的生命周期函数详解
  20. php将一维数组转换成二维数组

热门文章

  1. python方差特征选择_使用scikitlearn进行方差分析的特征选择和交叉验证
  2. 使用mac m1跑fortran代码hello world
  3. Xcode7查看iphone真机的应用程序文件
  4. zephyr 系统--- 内存池使用方法
  5. Pixhawk代码分析-启动代码及入口函数
  6. 并查集 - 除法求值
  7. Tensorflow保存模型详解(进阶版二):如何保存最近的.ckpt文件 及 如何分开保存.ckpt数据文件和.meta图文件
  8. 小程序数据框有重影_微信小程序云开发数据库增删改查
  9. x265-bitstream.cpp
  10. Eclipse 安装Gradle插件