Come installare e configurare il server SSH su Debian Linux?

Installare e testare il server SSH

Dovrai essere root per fare quanto segue…

su

  1. Installare un server SSH

    apt install openssh-server
     

  2. Verificare se esiste il processo server. Questo indica l'installazione è andato bene.

    ps -A | grep sshd

    Produzione (o simili): 1753 ? 00:00:00 sshd

     

  3. Installare Client SSH per verificare la connessione SSH server

    apt install openssh-client

    Collegare a localhost per verificare il collegamento

    ssh localhost

    login Anche con l'indirizzo IP dell'interfaccia

    Ottieni indirizzo IP

    ip addr

    SSH 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

  1. Passare alla home directory dell'utente

    cd
     

  2. Verificare se esiste .ssh

    ls -a
     

  3. Se .ssh non esiste, Crealo

    mkdir .ssh
     

  4. Impostare l'autorizzazione cartella 700

    chmod 700 .ssh
     

  5. Creare il file authorized_keys

    touch ./.ssh/authorized_keys
     

  6. Modificare l'autorizzazione sul file authorized_keys per 600

    chmod 600 ./.ssh/authorized_keys
     

  7. Aprire il file authorized_keys

    nano ./.ssh/authorized_keys
     

  8. 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.pub file. 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"
     

  9. Passa a utente root

    su

  10. Configura il tuo server SSH per accettare solo accessi con chiave pubblica e impedire l'accesso per root

    nano /etc/ssh/sshd_config

    Decommenta e/o modifica le seguenti righe

    PermitRootLogin no
    StrictModes yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    PasswordAuthentication no
     

  11. Riavvia il servizio sshd

    service sshd restart
     

  12. Prova ad accedere come root dal tuo client SSH usando la password

    ssh root@{ssh server ip address}

    Produzione: Permission denied (publickey).

     

  13. Prova ad accedere come nome utente dal tuo client SSH usando la password

    ssh username@{ssh server ip address}

    Produzione: Permission denied (publickey).

     

  14. Prova ad accedere come root dal tuo client SSH usando la chiave pubblica

    ssh root@{ssh server ip address} -i .ssh/id_rsa

    Produzione: Permission denied (publickey).

     

  15. 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.