在Linux上配置SFTP服务

本文章参考博客地址为https://blog.csdn.net/wbiblem/article/details/72082138,感谢原作者

SFTP介绍

sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似。 然而,sFTP 比 FTP 更安全;它通过加密 SSH 传输处理所有操作。 它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令。
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

SFTP在Linux上的配置

一、查看ssh版本
sftp是基于ssh协议的,首先查看ssh版本,openssh-server版本至少得是4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

[root@localhost ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

二、创建用户和组
创建sftp组和mysftp用户

groupadd sftp
mkdir -p /data/sftp
useradd -g sftp -s /sbin/nologin -d /data/sftp/mysftp mysftp

三、设置用户密码

[root@localhost ~]# passwd mysftp
更改用户 mysftp 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

四、给家目录更改属主并授权
家目录属主必须是root,权限可以是755或者750

cd /data/sftp
chown root:sftp mysftp
chmod 755 -R mysftp

五、在家目录下创建上传目录upload,并修改授权

cd /data/sftp/mysftp
mkdir upload
chown mysftp:sftp upload

如果不把upload目录的属主改成mysftp,那么mysftp用户将没有上传权限。
六、修改配置文件/etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server #注释掉这行
在底部加上下面6行
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u #设定属于用户组sftp的用户访问的根文件夹
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no #设置不允许SSH的X转发
七、重启sshd服务

service sshd restart

八、验证是否能上传

[root@mysql-db-01 ~]# sftp mysftp@192.168.0.12
Connecting to 192.168.0.12...
mysftp@192.168.0.12's password: 
sftp> cd upload
sftp> put git.zip
Uploading git.zip to /upload/git.zip
git.zip                                                                                                                                                                        100% 8678KB   8.5MB/s   00:00    
sftp> ls
git.zip  
sftp> pwd
Remote working directory: /upload

验证成功,能够把git.zip上传到upload目录中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值