cp -r /etc/ssh/sshd_config /etc/ssh/sftpd_config
vim sftpd_config
编辑配置文件
Port 9922
PidFile /var/run/sftpd.pid
注释掉这一行
Subsystem sftp /usr/libexec/openssh/sftp-server
下面的添加到/etc/ssh/sftpd_config最后
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
cd /usr/lib/systemd/system
cp -r sshd.service sftpd.service
vim sftpd.service
编辑服务文件
修改 systemd 中sftpd.service
Description=OpenSSH sftpd instance daemon
ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sftpd_config $OPTIONS
systemctl enable sftpd.service
service sftpd restart
mkdir -p /data/sftp
groupadd sftp
useradd -g sftp -d /data/sftp/user1 -s /bin/false user1
chown root:sftp /data/sftp/user1
chmod 755 /data/sftp/user1
mkdir /data/sftp/user1/upload
chown user1:sftp /data/sftp/user1/upload
chmod 755 /data/sftp/user1/upload
关注/etc/hosts.allow和/etc/hosts.deny 防火墙是否拦截和selinux是否关闭
ssh-keygen -t rsa 一路回车生成的公私钥在执行该命令的用户家目录下.ssh文件夹里面
mv id_rsa.pub /data/sftp/user1/.ssh/authorized_keys
chown user1:sftp authorized_keys
chmod 400 authorized_keys
编辑/etc/ssh/sftpd_config
开启 PubkeyAuthentication yes
重启sftp服务