一、什么sftp服务器
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式。本身没有守护进程,是包含在ssh中,端口也是22。
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装。

二、安装sftp服务器

创建用户组

groupadd sftpgroup

创建完成之后使用cat /etc/group命令组的信息

cat /etc/group

创建用户并且加入到这个用户组,并修改mysftp用户的密码

useradd -g sftpgroup -M -s /sbin/nologin  mysftp
passwd  mysftp

密码 Java_521

创建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

mkdir -p /data/sftp/mysftp
usermod -d /data/sftp/mysftp  mysftp

设置Chroot目录权限

chown root:sftpgroup /data/sftp/mysftp
chmod 755 /data/sftp/mysftp

新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

mkdir -p /data/sftp/mysftp/project
chown -R mysftp:sftpgroup /data/sftp/mysftp/project
chmod 755 /data/sftp/mysftp/project

chmod 755 设置用户的权限为

三、修改配置文件

vi /etc/ssh/sshd_config
将Subsystem sftp /usr/libexec/openssh/sftp-server 注释掉
在文件末尾添添加 加以下几行
Subsystem sftp internal-sftp
Match Group sftpgroup
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory  /data/sftp/mysftp
ForceCommand internal-sftp

四、测试sftp

重启sshd服务,然后测试 sftp 用户名@ip地址

systemctl restart sshd.service

sftp本地登录

sftp mysftp@127.0.0.1

测试上传

put abc.txt

测试下载

get abc.txt /opt



作者:老街老街
链接:https://www.jianshu.com/p/e4207bf09185
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


标签: none

添加新评论