为了不影响原来的sshd
服务,因此我们独立出来一个sftpd
服务。原来的sshd
服务该怎么用还是怎么用(比如堡垒机远程或者上传下载文件) 我们新增的sftpd
服务,端口号区别于原来的sshd
。
请一定遵循下面的必是
ln -sf /usr/sbin/sshd /usr/sbin/sftpd
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd /etc/pam.d/sftpd
cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
ln -sf /usr/sbin/service /usr/sbin/rcsftpd
cp /etc/sysconfig/sshd /etc/sysconfig/sftp
vim /etc/systemd/system/sftpd.service
# 注意,这里如果有PIDFile指向sshd.pid,请将PIDFile配置删除。
Description=sftpd server daemon
Type=notify
EnvironmentFile=/etc/sysconfig/sftp
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
vim /etc/ssh/sftpd_config
Port 22 改为 Port 10022。
PermitRootLogin yes 改为 PermitRootLogin no。
PidFile /var/run/sftpd.pid。
Subsystem sftp /usr/libexec/openssh/sftp-server前加#使本行变为注释。
另起一行添加Subsystem sftp internal-sftp。
systemctl daemon-reload
systemctl start sftpd
ss -tunlp | grep 10022
systemctl status sftpd
useradd user1 -M -d /sftp/user1 #不在home下创建家目录 但是指定他家目录是哪里
passwd user1
sftp根目录
user1 用户家目录用于固定用户不能切换路径 权限必须如下
uesr1 用于上传文件
mkdir /sftp/user1/user1 -p
chmod 755 /sftp/ #此处必是755 也必是 root:root
chmod 755 /sftp/user1 #此处必是755 也必是 root:user1
chmod 777 /sftp/user1 #此处是777 也可以是 user1:user1
mkdir /sftp/user2/user2 -p
chmod 755 /sftp/ #此处必是755 也必是 root:root
chmod 755 /sftp/user2 #此处必是755 也必是 root:user2
chmod 777 /sftp/user2 #此处是777 也可以是 user2:user2
Match User user1
ChrootDirectory /sftp/user1/ #限制用户家目录
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
ForceCommand internal-sftp
Match User user2 # 如果有多个用户,可以useradd后,再添加下面的配置
ChrootDirectory /sftp/user2/
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
ForceCommand internal-sftp
sftp -P 10022 yonghu@mima
pwd 显示为 /
ls 显示为 user1 #需要cd user1 后方可上传
cd /home 返回无法切换即可
只要不是 网咯问题就都是权限问题
请切记上面的必是 就完了