Ubuntu16.04 安装配置SFTP

SFTP 是基于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。(来自百度百科)

Ubuntu系统版本信息:

0. 查看是否安装了sftp-server

我的已经安装了。如果没有安装会只有第一行或者其他

1. 安装openssh-server

sudo apt-get install openssh-server

2. 为sftp 创建用户组

sudo addgroup sftp_users
sudo addgruop ssh_users

3. 创建sftp用户

或者直接用 管理员账户 ,我这里是p

sudo adduser sftp
//将sftp 添加到sftp_users 用户组,并从其他用户组移除,并关闭ssh功能
sudo usermod -G sftp_users -s /bin/false sftp
// 可以将 root 或者管理员 添加到 sftp 用户组中
sudo usermod -a -G sftp_users root 
sudo usermod -a -G sftp_users p 
// 根据需要可以将 root 或者管理员 添加到 ssh 用户组中
sudo usermod -a -G ssh_users root 
sudo usermod -a -G ssh_users p 

注意usermod中的-a参数的意思是不从其他用户组用移除, 相当于附加

查看p 加入的用户组:

可以看到加入了sftp 和ssh组

4. 创建设置用户组目录:

网上的说法:准备“监狱”的根目录及共享目录,“监狱”的根目录必须满足以下要求:
所有者为root,其他任何用户都不能拥有写入权限。
因此,为了让sftp用户能够上传文件,还必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。
为了便于管理员通过sftp管理上传的文件,把这个共享文件目录配置为:由bbc2005所有,允许sftp-users读写。这样,管理员和sftp用户组成员就都能读写这个目录了。

sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown p:sftp-users /home/sftp_root/shared
sudo chmod 775 /home/sftp_root/shared

5. 修改 ssh配置文件

sudo vim /etc/ssh/sshd_config

在文件最后添加如下:

UsePAM yes
AllowGroups ssh_users sftp_users
Match Group sftp_users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp

大体意思就是:

只允许ssh-uers及sftp-users通过SSH访问系统;
针对sftp-users用户,额外增加一些设置:
将“/home/sftp_root”设置为该组用户的系统根目录(因此它们将不能访问该目录之外的其他系统文件);
禁止TCP Forwarding和X11 Forwarding;强制该组用户仅仅使用SFTP。
如果需要进一步了解细节,可以使用“man sshd_config”命令。这样设置之后,SSH用户组可以访问SSH,并且不受其他限制;而SFTP用户组仅能使用SFTP进行访问,而且被关进监狱目录。

6. 重启系统

$  sudo  reboot now

7. 验证

下载filezilla 或者winscp 。

如上图,可以访问 虚拟机sftp中的文件了。

参考链接:

sftp服务器搭建(ubuntu)

Ubuntu安装SFTP服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ppipp1109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值