Come installare e configurare il server SSH su Debian Linux?
Installare e testare il server SSH
Dovrai essere root per fare quanto segue…
su
-
Installare un server SSH
apt install openssh-server
-
Verificare se esiste il processo server. Questo indica l'installazione è andato bene.
ps -A | grep sshdProduzione (o simili):
1753 ? 00:00:00 sshd -
Installare Client SSH per verificare la connessione SSH server
apt install openssh-clientCollegare a localhost per verificare il collegamento
ssh localhostlogin Anche con l'indirizzo IP dell'interfaccia
Ottieni indirizzo IP
ip addrSSH all'indirizzo IP
ssh {ipaddress here}
Protezione del server SSH
È una buona idea proteggere il server SSH impedendo a root di accedere e configurando l'accesso solo tramite chiave pubblica, ad es.. l'accesso tramite password non è consentito
Assicurati di eseguire i seguenti comandi come utente e non come root
-
Passare alla home directory dell'utente
cd
-
Verificare se esiste .ssh
ls -a
-
Se .ssh non esiste, Crealo
mkdir .ssh
-
Impostare l'autorizzazione cartella 700
chmod 700 .ssh
-
Creare il file authorized_keys
touch ./.ssh/authorized_keys
-
Modificare l'autorizzazione sul file authorized_keys per 600
chmod 600 ./.ssh/authorized_keys
-
Aprire il file authorized_keys
nano ./.ssh/authorized_keys
-
Incollare la chiave pubblica nel file
È possibile ottenere la chiave pubblica dal client SSH. Se il client è Windows 10 allora sarà in
%USERPROFILE%/.ssh/id_rsa.pubfile. Se il cliente è Debian quindi la chiave pubblica è~/.ssh/id_rsa.pub.Se la tua chiave pubblica non esiste, generarlo sulla macchina client
ssh-keygen -t rsa -C "email@domain.com"
-
Passa a utente root
su -
Configura il tuo server SSH per accettare solo accessi con chiave pubblica e impedire l'accesso per root
nano /etc/ssh/sshd_configDecommenta e/o modifica le seguenti righe
PermitRootLogin no
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
-
Riavvia il servizio sshd
service sshd restart
-
Prova ad accedere come root dal tuo client SSH usando la password
ssh root@{ssh server ip address}Produzione:
Permission denied (publickey). -
Prova ad accedere come nome utente dal tuo client SSH usando la password
ssh username@{ssh server ip address}Produzione:
Permission denied (publickey). -
Prova ad accedere come root dal tuo client SSH usando la chiave pubblica
ssh root@{ssh server ip address} -i .ssh/id_rsaProduzione:
Permission denied (publickey). -
Accedi come nome utente dal tuo client SSH utilizzando la chiave pubblica
ssh username@{ssh server ip address} -i .ssh/id_rsa
Se il tuo client SSH ha un indirizzo IP statico, potresti considerare che solo il tuo indirizzo IP può accedere al server SSH.
