sftp file share secure based on ssh
mkdir -p /repo/sftp
adduser --home /repo/sftp/ravi -s /sbin/nologin -e 2024-10-10 ravi
mkdir -p /repo/sftp/ravi/files
mkdir -p /repo/sftp/ravi/.ssh
touch /repo/sftp/ravi/.ssh/authorized_keys
groupadd sftpusers
usermod ravi -G sftpusers
chmod 755 /repo/sftp
chown root:root /repo/sftp
chmod 750 /repo/sftp/ravi
chown root:sftpusers /repo/sftp/ravi
chmod 777 /repo/sftp/ravi/files
chown ravi:sftpusers /repo/sftp/ravi/files
chmod 700 /repo/sftp/ravi/.ssh
chown ravi:ravi -R /repo/sftp/ravi/.ssh
chmod 600 /repo/sftp/ravi/.ssh/authorized_keys
echo "your public ssh" >> /repo/sftp/ravi/.ssh/authorized_keys
Edit Config SSH Server /etc/ssh/sshd_config
..........
Subsystem sftp internal-sftp -f AUTH -l INFO
........
Match User ravi
ChrootDirectory /repo/sftp/ravi
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
Restart Service
systemctl restart sshd
Access
sftp -i id_rsa ravi@hosts