FTP/TFTP/FTPS/SFTP学习笔记
maiaimei 2024/3/3 Linux
The File Transfer Protocol (FTP) is a simple network protocol that lets you transfer files between two computers on the Internet.
FTPS stands for “FTP over SSL”.
# SFTP
# 在CentOS7安装SFTP服务器
在CentOS7中,sftp只是ssh的一部分,所以采用yum来安装ssh服务即可。
# 查看是否安装SSH
ssh -V
# 安装ssh
yum install -y openssl openssh-server
# ssh的服务名是sshd,相关的操作如下:
systemctl stop sshd.service # 停止sshd服务
systemctl restart sshd.service # 重启sshd服务
systemctl status sshd.service # 查看sshd服务状态
systemctl enable sshd.service # 设置开机自启动sshd服务
systemctl disable sshd.service # 禁用开机自启动sshd服务
# 新建SFTP目录并授权
mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data/sftp/sftpuser
# 新建用户组sftp
groupadd sftp
# 新建用户sftpuser,并且设置不支持ssh系统登录,只能登录sftp服务器
# -g 用户组; -d 指定家目录; -s 不能登陆系统; -M 不创建家目录
useradd -g sftp -d /data/sftp/sftpuser -M -s /sbin/nologin sftpuser
# 设置密码
# echo "新密码" | passwd --stdin 用户名
echo "sftpuser" | passwd --stdin sftpuser
# 由于/data/sftp/sftpuser的用户是root,其它用户都没有写的权限
# 所以要在该目录下新建一个目录用于文件的上传下载
mkdir -p /data/sftp/sftpuser/upload
chown sftpuser:sftp /data/sftp/sftpuser/upload
chmod 755 /data/sftp/sftpuser/upload
# 配置SSH和SFTP服务器
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
vim /etc/ssh/sshd_config
# 配置SSH
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 配置SFTP
# 注释掉这行
# Subsystem sftp /usr/libexec/openssh/sftp-server
# 文件末尾添加以下内容
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
# 下面两项是与安全有关
AllowTcpForwarding no
X11Forwarding no
# 关闭Selinux策略
setsebool -P ftpd_full_access on
sed -i s#enforcing#disabled#g /etc/sysconfig/selinux
setenforce 0 && getenforce
getenforce
# 重启SFTP服务
systemctl restart sshd.service
# 本机测试SFTP
[root@sftpserver upload]# sftp sftpuser:sftpuser@192.168.1.28
sftpuser:sftpuser@192.168.1.28's password:
Connected to 192.168.1.28.
sftp> pwd
Remote working directory: /
sftp> cd upload/
sftp> pwd
Remote working directory: /upload
sftp> exit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70