vscode使用sftp同步服务器文件
环境介绍
服务器:腾讯云 + 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用户访问。
绕了一大圈的感觉,但是不知道这种方式对于企业级项目会不会存在安全隐患,目前个人服务器上使用对于安全的要求没有那么大,先这样使用,如果有问题再做调整。
vscode使用sftp同步服务器文件的更多相关文章
- PHPstorm配置同步服务器文件
一.配置服务器 1.连接配置 打开菜单栏 Tools -> Deployment -> Configuration 点击 + 选择 SFTP,并填写相关服务器信息: Type:连接类型,这 ...
- phpstorm同步服务器文件
配置服务器 1.连接配置 打开菜单栏 Tools -> Deployment -> Configuration 点击 + 选择 SFTP,并填写相关服务器信息: Type:连接类型,这里选 ...
- windows系统下用VScode配置远程编辑服务器文件的环境!通过Rmate方法
虽然公司电脑win可以通过Xshell通过SSH远程连接家中内网linux服务器了,但是只能用vim编辑文件有点不爽. 于是上网查询,windows下使用vscode远程编辑服务器文件的办法.参照博文 ...
- 通过ftp同步服务器文件:遍历文件夹所有文件(含子文件夹、进度条);简单http同步服务器文件实例
该代码主要实现,指定ftp服务地址,遍历下载该地址下所有文件(含子文件夹下文件),并提供进度条显示:另外附带有通过http地址方式获取服务器文件的简单实例 废话不多说,直接上代码: 1.FTPHelp ...
- 用PHPstorm同步服务器文件断开连接
使用同步功能,PHPstorm好像会一个一个去对比服务器上的文件,导致频繁请求建立连接,服务器本地安全策略做了屏蔽,所以进入黑名单后就无法连接了
- VPS服务器利用WINSCP软件进行SFTP管理服务器文件
虽然我使用VPS时间也不是很久,但是我善于进行统计和分析,从我在的一些VPS交流QQ群中,可以看到基本上使用搬瓦工VPS的站长群中新手较多,甚至很多人都搞不明白VPS与V-P-N的区别都直接选择VPS ...
- Visual Studio Code中设置sftp同步代码到服务器
## **前言** - 绝对的大佬才会直接在Linux下用vim写代码,我等小白只能通过IDE来了,所以将代码同步到服务器上就很重要了.使用vs code设置好sftp就可以实现这一功能. - 设置之 ...
- 使用rsync+inotify同步两台服务器文件
目标功能:将B服务器文件同步到A服务器 A服务器rsyncd.conf配置 权限600 A服务器rsyncd.pas文件配置 权限600 同步文件路径 /data/wwwroot/shen/ 权限 ...
- BAT实现服务器文件同步
服务器文件同步有很多工具,例如 GoodSync.rsync.BitTorrent Sync等……其实WINDOWS下自带了一个文件同步利器:ROBOCOPY.它是一个命令行的目录复制命令,自从Win ...
随机推荐
- Keras载入mnist数据集出错问题解决方案
找到本地keras目录下的mnist.py文件 通常在这个目录下. ..\Anaconda3\Lib\site-packages\keras\datasets 下载mnist.npz文件到本地 下载链 ...
- QMS 的趨勢概述
自泰勒Taylor提出的科学管理被奉行后,制造业的分工已然成形,而产品不再是由工匠单独负责完成.为确保产品的质量,产品在完工后的检验为确保瑕疵品不外流出给客户的必要关卡.然而当产品依靠检验结果并无法减 ...
- 自定义Dialog---实现优美对话框
PS:自定义dialog,一些系统的dialog已经不能满足开发人员的需求了,所以,我们需要自定义一个属于并且适合自己项目的对话框,无论是颜色还是功能需求上都是和自己的项目紧密相关的,一些系统的对话框 ...
- GRPC快速入门
转载请注明来自ChenJiehua的<GRPC快速入门> GRPC是一个高性能.通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言. 概述 ...
- 二.安全NA之ASA基础
一.ASA常用命令 show run interface #查看接口配置 show ip address #查看IP地址 show conn #查看防火墙状态信息,U代表up:I,代表进流量:O,代表 ...
- Windows Server 2008 R2服务器内存使用率过高,但与任务管理器中进程占用内存和不一致
系统环境: Windows Server 2008 R2 + Sql Server 2008 R2 问题描述: Windows Server 2008 R2系统内存占用率过大,而在任务管理器中各进 ...
- RobotFrameWork Web自动化测试环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收 ...
- 阿里分布式事务seata入门(采坑)
1. 阿里分布式事务seata入门(采坑) 1.1. 前言 seata是feascar改名而来,这是阿里在19年年初开源出来的分布式事务框架,当初刚出来的时候就想研究下了,一直拖到了现在,目前是0.8 ...
- Windows内核原理-同步IO与异步IO
目录 Windows内核原理-同步IO与异步IO 背景 目的 I/O 同步I/O 异步I/O I/O完成通知 总结 参考文档 Windows内核原理-同步IO与异步IO 背景 在前段时间检查异常连接导 ...
- nuget cli常用命令简介
起因:使用nuget,但是部分同事用的mac,不能用vs的包管理器查看私有nuget库里面的包,所以,就总结了几个常用的 nuget cli 命令,方便全平台使用nuget 废话不多,直入主题 准备: ...