部署SFTP

Posted 亦涵爱吃肉吖c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署SFTP相关的知识,希望对你有一定的参考价值。

#环境,Centos7.6

1.新增一个sftp组

group sftp

2.增加一个用户属于sftp组

useradd -g sftp -s /bin/false  shanghai

3.修改sftpuser密码

passwd shanghai

4.创建目录

mkdir /opt/data/shanghai

5.设置shanghai用户所在的目录

usermod -d /opt/data/shanghai   shanghai

6.修改sshd的配置文件

vim /etc/data/ssh/sshd_config

#号注释下面这行

#Subsystem sftp /usr/libexec/openssh/sftp-server

最下文添加此行命令

Subsystem sftp internal-sftp #这行指定使用sftp服务使用系统自带的internal-sftp
 
Match User shanghai #这行用来匹配用户
ChrootDirectory /opt/data/shanghai  #用chroot将用户的根目录指定到/opt/data/shanghai ,这样用户就只能在/opt/data/shanghai下活动
AllowTcpForwarding no
ForceCommand internal-sftp #指定sftp命令
chown -R root:root /opt/data/shanghai
chmod 755 /opt/data/shanghai
 
mkdir  /opt/data/shanghai/upload
chown -R shanghai.sftp  /opt/data/shanghai/upload
chmod 755  /opt/data/shanghai/upload
systemctl  restart sshd

 

chown命令释义:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
[root@localhost ~]# chown -R mysql:mysql /opt/data/shanghai
命令参数:
必要参数:
-c显示更改的部分的信息
-f忽略错误信息
-h修复符号链接
-R处理指定目录以及其子目录下的所有文件
-v显示详细的处理信息
-deference作用于符号链接的指向,而不是链接文件本身
chmod命令释义:
-rw------- (600)    只有拥有者有读写权限。
-rw-r--r-- (644)    只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)    只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)    所有用户都有文件读、写权限。
-rwxrwxrwx (777)    所有用户都有读、写、执行权限。

最后结束,试一下本机登录,22为端口,可修改任意,需配置

sftp -P 22 sftp@127.0.0.1

新增一个用户和目录

useradd -g sftp -s /bin/false ceshi
psswd ceshi
mkdir –p /opt/data/ceshi
chown -R root:root /opt/data/ceshi
chmod 755 /opt/data/ceshi
mkdir   /opt/data/ceshi/upload
chown –R bbp.sftp  /opt/data/ceshi/upload
chmod 755  /opt/data/ceshi/upload
 
 
增加sshd的配置文件
Match User ceshi
ChrootDirectory /opt/data/ceshi
AllowTcpForwarding no
ForceCommand internal-sftp
 
 
systemctl  restart sshd

 

以上是关于部署SFTP的主要内容,如果未能解决你的问题,请参考以下文章

我的docker随笔32:sftp服务部署

导致资产预编译在heroku部署上失败的代码片段

Python 远程开发环境部署与调试

通过sftp(phpseclib)将GIT变更集部署到1和1

Linux-部署ftp

Apache Ftp Server 部署,它的帐号密码加密算法是什么呢?