Come posso creare un utente SFTP sulla mia istanza Lightsail?
Desidero creare un utente SFTP sulla mia istanza Amazon Lightsail.
Risoluzione
Nota: i seguenti passaggi permettono di creare un utente SFTP con accesso a un ambiente chroot (chroot jail) senza accesso SSH. L'utente SFTP non può accedere alle directory esterne all'ambiente o alla directory chroot. La directory chroot diventa quindi la directory principale di questo utente.
Configura il gruppo e l’utente SFTP
-
Crea un gruppo per gli utenti SFTP con il seguente comando:
sudo groupadd sftp_group
Nota: sostituisci sftp_group con il nome del tuo gruppo.
-
Crea un utente sull'istanza con una directory home senza accesso alla shell (interprete di comandi) di login SSH. Per fare ciò, esegui il seguente comando:
sudo useradd -g sftp_group -m -d /home/sftp_user -s /sbin/nologin sftp_user
Nota: sostituisci sftp_user con il tuo nome utente.
Configura l'autenticazione utente con l'autenticazione tramite password o basata su chiave SSH
Autenticazione tramite password
Usa il seguente comando per creare una password:
sudo passwd sftp_user
Autenticazione basata su chiave SSH
-
Per richiedere l'autenticazione basata su chiave SSH, crea una cartella .ssh nella directory home dell'utente. Quindi, crea un authorized_keys:
sudo mkdir /home/sftp_user/.ssh sudo touch /home/sftp_user/.ssh/authorized_keys
-
Aggiungi la chiave pubblica SSH che desideri usare al file /home/sftp_user/.ssh/authorized_keys. Per ulteriori informazioni, consulta Set up SSH keys for Lightsail.
-
Per modificare la proprietà e le autorizzazioni della directory home dell'utente, esegui i seguenti comandi:
sudo chown sftp_user:sftp_group /home/sftp_user/.ssh -Rsudo chown root:sftp_group /home/sftp_user/ sudo chmod 755 /home/sftp_user/ sudo chmod 700 /home/sftp_user/.ssh/ sudo chmod 600 /home/sftp_user/.ssh/authorized_keys
Nota: l'esempio precedente utilizza l'autorizzazione 755 nella directory /home/sftp_user quindi cambia la proprietà all'utente root. Questa directory utente viene utilizzata come directory chroot.
Modifica il file /etc/ssh/sshd_config
-
Nella riga Subsystem sftp commenta la riga Subsystem sftp /usr/libexec/openssh/sftp-server:
# Subsystem sftp /usr/libexec/openssh/sftp-server
-
Sostituisci la riga precedente con il testo seguente:
Subsystem sftp internal-sftp
-
Per limitare l'accesso degli utenti SFTP, aggiungi il seguente testo al termine del file:
Match Group sftp_group ChrootDirectory /home/%u ForceCommand internal-sftp
Nell'esempio precedente, ChrootDirectory specifica la directory principale per gli utenti SFTP. MatchGroup identifica gli utenti in sftp_group che utilizzano il percorso /home/%u come directory root. I caratteri %u rappresentano l'utente. ForceCommand internal-sftp forza l'uso di un server SFTP in-process.
-
Se usi l'autenticazione tramite password, imposta PasswordAuthentication nel file /etc/ssh/sshd_config su yes.
Crea le directory chroot per l'utente
- Per creare una directory chroot, esegui i seguenti passaggi:
Nota: sostituisci il nome della directory, sftp_user e uploads con il nome della tua directory.sudo mkdir /home/sftp_user/uploads
- Modifica la proprietà dei file:
Nota: sostituisci il nome della directory, sftp_user e uploads con il nome della tua directory.sudo chown sftp_user:sftp_group /home/sftp_user/uploads
Verifica le modifiche, quindi riavvia il servizio SSHD
-
Verifica che le autorizzazioni per la directory siano simili a quelle nell'esempio seguente:
ls -ld /homedrwxr-xr-x 3 root root 23 Oct 6 15:17 /home ls -ld /home/sftp_user drwxr-xr-x 3 root sftp_group 21 Oct 6 15:17 /home/sftp_user ls -ld /home/sftp_user/uploads/ drwxr-xr-x 2 sftp_user sftp_group 6 Oct 6 15:17 /home/sftp_user/uploads/
-
Riavvia il servizio SSHD:
sudo systemctl restart sshd
Connettiti all'istanza con SFTP
Autenticazione tramite password
Esegui quanto segue:
# sftp sftp_user@example.com's password:
Autenticazione basata su chiave SSH
Esegui quanto segue:
# sftp -i key.pem sftp_user@example.com
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa