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

文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 知识武装灵魂
喜欢就支持一下吧