How to setup SFTP server on Amazon Linux 2

To Nha Notes | July 27, 2022, 7:19 p.m.

Add SFTP user and group

adduser sftpuser
passwd sftpuser
groupadd sftpusers
usermod -a -G sftpusers sftpuser
chown root:root /home/sftpuser

Make SFTP data folder

mkdir /sftp
chmod 755 /sftp
chown root:sftpusers /sftp
mkdir /sftp/shared
chown root:sftpusers /sftp/shared

Setup SSH folder

mkdir /home/sftpuser/.ssh
chown -R sftpuser:sftpuser /home/sftpuser/.ssh
chmod 700 /home/sftpuser/.ssh

cd /home/sftpuser/.ssh/
ssh-keygen -t rsa
touch authorized_keys

Add public key text to authorized_keys

chmod 600 /home/sftpuser/.ssh/authorized_keys
chown -R sftpuser:sftpuser /home/sftpuser/.ssh

Config sshd

vi /etc/ssh/sshd_config

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Add following lines at bottom of file. It should be below ‘UsePAM yes’

Match group sftpusers

ChrootDirectory /sftp/

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp


PasswordAuthentication yes
PubkeyAuthentication no  # yes if key validation is required


Restart sshd service

systemctl restart sshd.service

Connect to SFTP server

sftp sftpuser@<SFTP_SERVER_IP>

 

References

https://blog.e-zest.com/setting-up-sftp-server-on-amazon-ec2

https://www.dennisotugo.com/how-to-setup-sftp-on-centos-rhel-amazon-linux-2/

https://cloud.yandex.com/en/docs/tutorials/archive/backup-and-archive-to-sftp