GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit klíče SSH na Debianu 10

Secure Shell (SSH) je šifrovací síťový protokol používaný pro bezpečné spojení mezi klientem a serverem a podporuje různé autentizační mechanismy. Šifrované připojení lze použít k provádění příkazů na serveru, tunelování X11, přesměrování portů a dalším.

Na základě hesla a veřejného klíče jsou dva nejběžnější mechanismy ověřování.

Autentizace pomocí veřejného klíče je založena na použití digitálních podpisů a je bezpečnější a pohodlnější než tradiční ověřování heslem.

Tento článek popisuje, jak generovat klíče SSH na systémech Debian 10. 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 Debianu #

Je pravděpodobné, že na svém klientském počítači Debian již máte pár klíčů SSH. Pokud generujete nový pár klíčů, starý bude přepsán.

Spusťte následující ls příkaz ke kontrole, zda soubory klíčů existují:

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

Pokud výstup výše uvedeného příkazu obsahuje něco jako No such file or directory nebo no matches found , znamená to, že nemáte klíče SSH a můžete pokračovat dalším krokem a vygenerovat nový pár klíčů SSH.

Jinak, pokud máte pár klíčů SSH, můžete je buď použít, nebo zálohovat staré klíče a vygenerovat nové.

Vygenerujte nový 4096bitový pár klíčů SSH s vaší e-mailovou adresou jako komentář zadáním následujícího příkazu:

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

Výstup bude vypadat nějak takto:

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 vyzváni k zadání bezpečné přístupové fráze. Jestli chcete použít přístupovou frázi, je to na vás. Přístupová fráze přidává další vrstvu zabezpečení.

Enter passphrase (empty for no passphrase):

Pokud nechcete použít přístupovou frázi, stačí stisknout Enter .

Celá interakce vypadá takto:

Chcete-li potvrdit, že byl vygenerován pár klíčů SSH, spusťte následující příkaz:

ls ~/.ssh/id_*

Příkaz zobrazí seznam klíčových souborů:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

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

Nyní, když máte svůj 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 použít ssh-copy-id nástroj.

Spusťte na místním počítači následující příkaz:

ssh-copy-id remote_username@server_ip_address

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

remote_username@server_ip_address's password:

Jakmile je uživatel ověřen, obsah souboru veřejného klíče (~/.ssh/id_rsa.pub ) bude připojen ke vzdálenému uživateli ~/.ssh/authorized_keys soubor a připojení bude uzavř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 k serveru pomocí klíčů SSH #

V tomto okamžiku 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 otestovat, zkuste se připojit k serveru přes SSH:

ssh remote_username@server_ip_address

Pokud jste nenastavili přístupové heslo, budete okamžitě přihlášeni. V opačném případě budete vyzváni k zadání přístupové fráze.

Deaktivace ověřování hesla SSH #

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

Před deaktivací ověřování hesla se ujistěte, že se můžete přihlásit na svůj server bez hesla a že uživatel, se kterým se přihlašujete, má oprávnění sudo.

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

ssh sudo_user@server_ip_address

Otevřete konfigurační soubor SSH serveru /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Vyhledejte následující direktivy a upravte je následovně:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Po dokončení uložte soubor a restartujte službu SSH:

sudo systemctl restart ssh

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


Debian
  1. Jak nastavit klíče SSH

  2. Konfigurace klíčů SSH na systému Debian 9 – jak na to?

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

  1. Nastavit statickou IP na Debianu 11 – Jak na to?

  2. Jak nastavit klíče SSH na Ubuntu 16.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