Basic instructions on how to set up an SSH server on an Ubuntu 16.04/18.04 EC2 instance.
Step 1 – Create a New User
Code language: Bash (bash)sudo adduser testuser
Step 2 – Create a Directory for File Transfers
Code language: Bash (bash)sudo mkdir -p /var/sftp/uploads sudo chown root:root /var/sftp sudo chmod 755 /var/sftp sudo chown testuser:testuser /var/sftp/uploads
Step 3 – Restrict Access to One Directory
Open the SSH server configuration file
Code language: Bash (bash)sudo nano /etc/ssh/sshd_config
Add the following to the bottom of the file:
Code language: Bash (bash)Match User testuser ForceCommand internal-sftp PasswordAuthentication yes ChrootDirectory /var/sftp PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
Apply the configuration changes
Code language: Bash (bash)sudo systemctl restart sshd
Step 4 – Verify the Configuration
Verify the user cannot via SSH
Code language: Bash (bash)
Verify the user can connect via SFTP
Code language: Bash (bash)sftp [email protected]