阿里云使用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的主要内容,如果未能解决你的问题,请参考以下文章