linux配置sftp及切分sftp服务
Linux配置sftp用户及sftp服务切分
sftp用户配置
环境:centos7,openssh
1.增加sftp用户
useradd -s /bin/false -d /home/data/mysftp mysftp
2.设置用户密码
passwd mysftp
3.设置用户活动目录权限
chown root:mysftp /home/data/mysftp
chmod 755 /home/data/mysftp
4.配置文件修改
vim /etc/ssh/sshd_config
###
Subsystem sftp internal-sftp #使用系统自带的sftp服务
Match Group mysftp #Match User mysftp匹配组或匹配用户
ChrootDirectory /home/data/mysftp #限制用户活动目录
X11Forwarding no
ForceCommand internal-sftp
AllowTcpForwarding no
#限制后的根目录是无法写入的
sftp服务切分
1.复制相关文件
1.cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
2.cp /etc/pam.d/sshd /etc/pam.d/sftpd #可选
3.cp /etc/ssh/ sshd_config /etc/ssh/sftpd_config
4.ln -sf /usr/sbin/service /usr/sbin/rcsftpd #可选
5.ln -sf /usr/sbin/sshd /usr/sbin/sftpd
6.cp /etc/sysconfig/sshd /etc/sysconfig/sftp
7.cp /var/run/sshd.pid /var/run/sftpd.pid
2.修改新服务的配置
修改/etc/systemd/system/sftpd.service
代码:
vim /etc/systemd/ system/sftpd.service
[Unit]
Description=sftpd server daemon
After=network.target sshd-keygen.target
Wants=sshd-keygen.target
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sftpd
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
3.修改vim /etc/ssh/sftpd_config
代码:
vim /etc/ssh/sftpd_config
Port 2222
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
UseDNS no
AddressFamily inet
SyslogFacility AUTHPRIV
PermitRootLogin no
PasswordAuthentication yes
Subsystem sftp internal-sftp #使用系统自带的sftp服务
Match Group mysftp #Match User mysftp匹配组或匹配用户
ChrootDirectory /home/data/mysftp #限制用户活动目录
X11Forwarding no
ForceCommand internal-sftp
AllowTcpForwarding no
PidFile /var/run/sftpd.pid
根据需求自定义
4.清空/var/run/sftpd.pid文件
> /var/run/sftpd.pid
5.开启新的服务
systemctl start sftpd.service
6.测试
sftp -oPort=2222 mysftp@127.0.0.1
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
知识武装灵魂!
喜欢就支持一下吧