[步骤] SFTP 的安全使用

步骤目录:

步骤一:创建 SFTP 用户的组

步骤二:创建用于 SFTP 的主目录
2.1 创建用于 SFTP 的主目录
2.2 设置用于 SFTP 的主目录的所属组和所属主
2.3 设置用于 SFTP 的主目录的权限

步骤三:开启 SFTP 服务
3.1 修改 sshd 配置文件
3.2 重启 sshd 服务

步骤四:创建 SFTP 用户
4.1 创建 SFTP 用户
4.1.1 创建 SFTP 用户
4.1.2 给 SFTP 用户设置密码
4.2 创建 SFTP 用户的主目录
4.2.1 创建 SFTP 用户的主目录
4.2.2 设置 SFTP 用户的主目录的所属组和所属主
4.2.3 设置 SFTP 用户的主目录的权限
4.3 创建 SFTP 用户有写入权限的目录
4.3.1 创建 SFTP 用户有写入权限的目录
4.3.2 设置 SFTP 用户有写入权限的目录的所属组和所属主
4.3.3 创建 SFTP 用户有写入权限的目录的权限

步骤五: SFTP 的使用
5.1 登陆 SFTP
5.2 SFTP 可使用的命令
5.2.1 显示当前目录下的所有文件和目录
5.2.2 创建某一个目录
5.2.3 从被远程的主机上下载一个文件
5.2.4 将本地的一个文件上传到被远程的主机上

具体的操作步骤:

步骤一:创建 SFTP 用户的组

# groupadd sftp

步骤二:创建用于 SFTP 的主目录
2.1 创建用于 SFTP 的主目录

# mkdir /sftp

(补充:这里以创建 /sftp 目录为例)

2.2 设置用于 SFTP 的主目录的所属组和所属主

# chown root:sftp /sftp

(补充:这里以给 /sftp 设置 root 主和 sftp 组为例)

2.3 设置用于 SFTP 的主目录的权限

# chmod 755 /sftp

(补充:这里以给 /sftp 目录权限为例)

步骤三:开启 SFTP 服务
3.1 修改 sshd 配置文件

# vim /etc/ssh/sshd_config

如果是 RHEL & CentOS Linux,将以下内容:

......
Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

修改为:

......
# Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

如果是 openSUSE & SLE, 将以下内容:

......
Subsystem       sftp    /usr/lib/ssh/sftp-server
......

修改为:

......
# Subsystem       sftp    /usr/lib/ssh/sftp-server
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no


补充:这里以
(1)sftp 的所属组是 sftp
(2)以 /sftp/%u 作为 sftp 的家目录
为例

3.2 重启 sshd 服务

# systemctl restart sshd

步骤四:创建 SFTP 用户
4.1 创建 SFTP 用户
4.1.1 创建 SFTP 用户

# useradd -g sftp -s /bin/false sftpuser

(补充:这里以创建名为 sftpuser ,所属组为 sftp,解释器是 /bin/false 的用户为例)

4.1.2 给 SFTP 用户设置密码

# passwd sftpuser

(补充:这里以给 sftpuser 用户设置密码为例)

4.2 创建 SFTP 用户的主目录
4.2.1 创建 SFTP 用户的主目录

# mkdir /sftp/sftpuser

(补充:这里以创建 /sftp/sftpuser 目录为例)

4.2.2 设置 SFTP 用户的主目录的所属组和所属主

# chown root:sftp /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 设置 root 主和 sftp 组为例)

4.2.3 设置 SFTP 用户的主目录的权限

# chmod 755 /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 目录权限为例)

4.3 创建 SFTP 用户有写入权限的目录
4.3.1 创建 SFTP 用户有写入权限的目录

# mkdir /sftp/sftpuser/write

(补充:这里以创建 /sftp/sftpuser/write 目录为例)

4.3.2 设置 SFTP 用户有写入权限的目录的所属组和所属主

# chown sftpuser:sftp /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 设置 sftpuser 主和 sftp 组为例)

4.3.3 创建 SFTP 用户有写入权限的目录的权限

# chmod 755 /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 目录权限为例)

步骤五: SFTP 的使用
5.1 登陆 SFTP

# sftp sftpuser@127.0.0.0.1

(补充:这里以使用 sftpuser 用户登陆 IP 地址为 127.0.0.1 的 sftp 为例)

5.2 SFTP 可使用的命令
5.2.1 显示当前目录下的所有文件和目录

sftp> ls

5.2.2 创建某一个目录

sftp> mkdir test

(补充:这里以创建 test 目录为例)

5.2.3 从被远程的主机上下载一个文件

sftp> get test.txt

(补充:这里以下载 test.txt 文件为例)

5.2.4 将本地的一个文件上传到被远程的主机上

sftp> put local.txt

(补充:这里以上传 local.txt 文件为例)