使用sftp搭建本地快速部署环境
准备
首先,我们要确保sshd也就是我们的ssh服务处于运行状态之中,下面以centos为例来讲解搭建的过程。
必要的包: openssh-clients openssh-server
运行下面的命令以确定我们的ssh服务处于active的状态中
1 | $ systemctl status sshd |
开始
新建一个用户(非root用户请加sudo)
1 | $ adduser test |
1 | $ passwd test |
设置密码,更新用户令牌信息,本地生成SSH密钥并将公钥放置于服务器,确保能从本地使用SSH登录远程主机
明确新用户的文件夹权限
1 | $ chown root:root /../somepath/sftp |
在sftp文件夹下创建uploads文件夹,所有上传的文件都会在里面,将拥有者设置为test用户
1 | $ chown test:test /../somepath/sftp/uploads |
将PasswordAuthentication设置为no并保存,确保不能用密码建立SSH连接并重启SSH服务
1 | $ vi /etc/ssh/sshd_config |
现在在本地尝试使用sftp进行登录
1 | sftp -i ~/.ssh/key test@ip_address |
发现进入sftp即成功!
使用vscode配置快速部署环境
这里是用的是 ftp-sync 插件
安装完成之后按F1键
选择Ftp-sync: init
就可以在.vscode文件夹下找到ftp-sync.json文件
1 | { |
然后愉快地快速部署到服务器吧
F1
选择 Ftp-sync: Local To Remote
选择 full-sync,执行上传。大功告成!
注: 如果是node项目的话可以使用pm2检测文件更改自动重启服务,一键更新线上代码!
参考:
https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-centos-7
使用sftp搭建本地快速部署环境
