SFTP与SSH分离
1. 要求
- ssh继续使用原来22端口
- sftp使用2222端口
- sftp使用单独的服务进行启停
- sftp所有数据放在/data/sftp/sftp_user1/ 下
2. 实现
2.1 建立用户和目录
- 创建用户sftp_user1
useradd -M -s /sbin/nologin sftp_user1
echo 'Pana#2025$'
创建sftp目录
mkdir /data/sftp/sftp_user1
chgrp sftp_user1 /data/sftp/sftp_user1
2.2 创建服务配置文件
编辑配置文件/etc/ssh/sftp.conf
Port 2222
Subsystem sftp internal-sftp
Match user sftp_user1chrootDirectory /data/sftp/sftp_user1X11Forwarding noAllowTcpForwarding noForceCommand internal-sftp
2.3 创建service文件
编辑service文件/etc/systemd/system/sftp.service
[Unit]
Description=Sftp Server for SFTP (Port 2222)
After=network.target sshd-keygen.target[Service]
ExecStart=/usr/sbin/sshd -f /etc/ssh/sftp.conf -p 2222
Restart=on-failure
User=root[Install]
WantedBy=multi-user.target
3. 启动服务并测试
使服务生效
systemctl daemon-reload
systemctl enable --now sftp.service
确认sftp服务正常
systemctl status sftp.service
登录测试
sftp -v -P 2222 sftp_user1@10.199.11.11
至此SFTP与SSH分离已经实现