Jak nainstalovat a nakonfigurovat SSH server na Debian Linux?

Instalace a testování SSH server

Budete muset být root provést následující kroky…

su

  1. Instalovat SSH server

    apt install openssh-server
     

  2. Zkontrolujte, zda existuje proces serveru. To naznačuje, že instalace proběhla dobře.

    ps -A | grep sshd

    Výstup (nebo podobné): 1753 ? 00:00:00 sshd

     

  3. Nainstalovat SSH klienta pro kontrolu připojení SSH serveru

    apt install openssh-client

    Připojení k localhost pro testování připojení

    ssh localhost

    Se také přihlásit na adresu IP rozhraní

    Získat adresu IP

    ip addr

    SSH na IP adresu

    ssh {ipaddress here}
     

Zajištění SSH server

Je to dobrý nápad, aby zabezpečit SSH server tím, že zamítne kořen se přihlásit a konfiguraci přihlášení pouze pomocí veřejného klíče tj. přihlášení pomocí hesla není povoleno

Zajistily provést následující příkazy jako uživatel, a ne jako root

  1. Přejděte do domovského adresáře uživatele

    cd
     

  2. Zkontrolujte, zda existuje .ssh

    ls -a
     

  3. Pokud .ssh neexistuje, vytvořit to

    mkdir .ssh
     

  4. Nastavit oprávnění složky na 700

    chmod 700 .ssh
     

  5. Vytvořte soubor authorized_keys

    touch ./.ssh/authorized_keys
     

  6. Změna oprávnění k souboru authorized_keys na 600

    chmod 600 ./.ssh/authorized_keys
     

  7. Otevřete soubor authorized_keys

    nano ./.ssh/authorized_keys
     

  8. Vložte svůj veřejný klíč do souboru

    Můžete získat veřejný klíč od klienta SSH. Pokud je klient Windows 10 pak to bude v %USERPROFILE%/.ssh/id_rsa.pub soubor. V případě, že klient je Debian pak veřejný klíč ~/.ssh/id_rsa.pub.

    Pokud je váš veřejný klíč neexistuje, generovat to na klientském počítači

    ssh-keygen -t rsa -C "email@domain.com"
     

  9. Změna na uživatele root

    su

  10. Nakonfigurovat SSH server akceptovat pouze veřejných klíčů přihlášení a zabránit přihlášení uživatele root

    nano /etc/ssh/sshd_config

    Odkomentovat a / nebo upravit následující řádky

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

  11. Restart sshd službu

    service sshd restart
     

  12. Zkuste se přihlásit jako root ze svého SSH klienta pomocí hesla

    ssh root@{ssh server ip address}

    Výstup: Permission denied (publickey).

     

  13. Zkuste se přihlásit jako uživatelské jméno ze svého SSH klienta pomocí hesla

    ssh username@{ssh server ip address}

    Výstup: Permission denied (publickey).

     

  14. Zkuste se přihlásit jako root ze svého SSH klienta pomocí veřejného klíče

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

    Výstup: Permission denied (publickey).

     

  15. Přihlaste se jako uživatelské jméno ze svého SSH klienta pomocí veřejného klíče

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

Pokud váš SSH klient má statickou IP adresu, pak možná budete chtít, aby zvážila jen vaši IP adresu, se mohou přihlásit do SSH serveru.