GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit klíče SSH na CentOS 7

Secure Shell (SSH) je kryptografický síťový protokol navržený pro bezpečné spojení mezi klientem a serverem.

Dva nejoblíbenější mechanismy autentizace SSH jsou autentizace na základě hesla a autentizace na základě veřejného klíče. Použití klíčů SSH je obecně bezpečnější a pohodlnější než tradiční ověřování heslem.

Tento tutoriál vysvětluje, jak generovat klíče SSH na systémech CentOS 7. Ukážeme vám také, jak nastavit ověřování pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadávání hesla.

Vytváření klíčů SSH v systému CentOS #

Před vygenerováním nového páru klíčů SSH je dobré zkontrolovat stávající klíče SSH na klientském počítači CentOS.

Chcete-li tak učinit, spusťte následující příkaz ls, který vypíše všechny veřejné klíče, pokud nějaké existují:

ls -l ~/.ssh/id_*.pub

Pokud výstup příkazu vrátí něco jako No such file or directory nebo no matches found znamená to, že na svém klientském počítači nemáte klíče SSH a můžete pokračovat dalším krokem a vygenerovat pár klíčů SSH.

Pokud existují klíče, můžete je buď použít a přeskočit další krok, nebo zálohovat staré klíče a vygenerovat nové.

Začněte vygenerováním nového 4096bitového páru klíčů SSH s vaší e-mailovou adresou jako komentář:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Budete vyzváni k zadání názvu souboru:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Stiskněte Enter přijmout výchozí umístění souboru a název souboru.

Dále budete požádáni o zadání bezpečné přístupové fráze. Jestli chcete použít přístupovou frázi, je to na vás. Pokud se rozhodnete použít přístupovou frázi, získáte další vrstvu zabezpečení.

Enter passphrase (empty for no passphrase):

Pokud nechcete použít přístupovou frázi, stiskněte Enter .

Celá interakce vypadá takto:

Chcete-li ověřit, že byl vygenerován nový pár klíčů SSH, zadejte:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Zkopírujte veřejný klíč na server CentOS #

Nyní, když je vygenerován pár klíčů SSH, dalším krokem je zkopírovat veřejný klíč na server, který chcete spravovat.

Nejjednodušší a doporučený způsob, jak zkopírovat veřejný klíč na vzdálený server, je pomocí nástroje s názvem ssh-copy-id . Typ terminálu na místním počítači:

ssh-copy-id remote_username@server_ip_address

Budete vyzváni k zadání remote_username heslo:

remote_username@server_ip_address's password:

Zadejte heslo a jakmile bude uživatel ověřen, veřejný klíč ~/.ssh/id_rsa.pub bude připojen ke vzdálenému uživateli ~/.ssh/authorized_keys soubor. Spojení bude ukončeno.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Pokud ssh-copy-id nástroj není na vašem místním počítači dostupný, zkopírujte veřejný klíč pomocí následujícího příkazu:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Přihlaste se na svůj server pomocí klíčů SSH #

Po dokončení výše uvedených kroků byste měli být schopni se přihlásit ke vzdálenému serveru, aniž byste byli vyzváni k zadání hesla.

Chcete-li to ověřit, zkuste se přihlásit na svůj server přes SSH:

ssh remote_username@server_ip_address

Pokud jste pro soukromý klíč nenastavili přístupovou frázi, budete okamžitě přihlášeni. V opačném případě budete požádáni o zadání přístupové fráze.

Deaktivace ověřování hesla SSH #

Chcete-li ke vzdálenému serveru přidat další vrstvu zabezpečení, můžete zakázat ověřování pomocí hesla SSH.

Než budete pokračovat, ujistěte se, že se můžete přihlásit na svůj server bez hesla jako uživatel s právy sudo.

Chcete-li deaktivovat ověřování heslem SSH, postupujte podle následujících kroků:

  1. Přihlaste se ke vzdálenému serveru:

    ssh sudo_user@server_ip_address
  2. Otevřete konfigurační soubor SSH /etc/ssh/sshd_config pomocí textového editoru:

    sudo nano /etc/ssh/sshd_config
  3. Vyhledejte následující direktivy a upravte je následovně:

    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. Jakmile budete hotovi, uložte soubor a restartujte službu SSH zadáním:

    sudo systemctl restart ssh

V tomto okamžiku je ověřování na základě hesla zakázáno.


Cent OS
  1. Nastavení klíčů SSH na CentOS 7 – proces krok za krokem?

  2. Jak nastavit klíče SSH na CentOS 8

  3. Jak nastavit klíče SSH na Ubuntu 16.04

  1. Jak nastavit klíče SSH

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nastavit klíče SSH na Debianu

  1. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  2. Jak nastavit přihlášení k SSH bez hesla

  3. Jak vygenerovat a nastavit klíče SSH na Debianu 10