阿里云使用NAS做存储盘搭建安全的SFTP

Posted zero13_小葵司

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云使用NAS做存储盘搭建安全的SFTP相关的知识,希望对你有一定的参考价值。

搭建SFTP的分享有很多,但是生产中基于云服务来搭建,依然会有一些不一样的新问题,我们就从零到一个符合生产标准的SFTP服务,需要解决以下这几个问题:

  • 不同接入人能看到与操作的目录是不同的;
  • 需要一个账号可以操作所有目录;
  • 文件存储在NFS中便于不同服务之间使用该文件;

申请服务器

SFTP服务器对于资源的要求并不高,我们根据自己的需要购买一台ECS即可,考虑到SFTP通常需要外部访问,因此不要忘记购买公网IP。

开放SFTP服务器有一定的风险性,建议与其它服务器隔离不混用。

购买NAS

在阿里云的NAS服务中购买一定资源,按量付费即可。

创建组与用户

这里自己玩玩与生产使用是不太一样的,生产使用需要关注我们在开篇提到的前两点

  • 不同接入人能看到与操作的目录是不同的;
  • 需要一个账号可以操作所有目录;

所以下面的步骤是环环相扣的。

groupadd sftp

useradd -g sftp -s /sbin/nologin -M sftp # 创建一个sftp的根用户

useradd -g sftp -s /sbin/nologin -M user1 # 再创建两个应该具有不同权限的用户

useradd -g sftp -s /sbin/nologin -M user2

passwd sftp

passwd user1

passwd user2

创建目录结构

先创建一个目录用来承载SFTP的功能

cd /

mkdir -p sftp

chmod 755 sftp

cd mkdir

mkdir data

chown root:sftp data # 这个特别关键,在配置中要作为sftp的根目录的话,所有者需要是root

cd data

mkdir user1

chown root:sftp user1

cd user1

mkdir data

chown user1:sftp data

挂载NAS

sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport xxxx.yyyy.nas.aliyuncs.com:/ /sftp/data

修改 sshd_config配置

  • 修改端口号
Port 9527
  • 修改sftp类型
\\# Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp
  • 开启密钥认证
\\#PasswordAuthentication no

PasswordAuthentication yes
  • 为不同用户配置SFTP目录
# Add support for sftp 

Match Group sftp

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

ChrootDirectory %h



Match User user1

ChrootDirectory /sftp/data/user1

AllowTcpForwarding no

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp
  • 重启sshd服务
service sshd restart

至此我们可以在客户端尝试连接了

  • sftp用户可以访问多个目录
  • user1只能看到与操作自己的目录

这里只举了一个例子,网络安全的限制也没添加,这个在防火墙、安全组都需要做相应配置以限制访问。

以上是关于阿里云使用NAS做存储盘搭建安全的SFTP的主要内容,如果未能解决你的问题,请参考以下文章

阿里云ECS上实现NFS挂载

如何连接Rancher与阿里云NAS存储

使用ACK和NAS快速搭建弹性NGINX网站

Mobox企业网盘支持对象存储帮助用户推进私有云

NAS轻教学:如何挂载阿里云盘?实现满速网盘互传

阿里云ask 对nas共享存储压测