Naštěstí existuje lepší řešení. Můžete říct všem serverům, které spravujete, aby věřily počítači nebo notebooku, který používáte k jejich připojení a konfiguraci. Tímto způsobem se na tyto servery můžete přihlásit bez hesla nebo se stejným heslem. V této metodě potřebujete znát přihlašovací heslo k těmto serverům pouze jednou. Pak na to můžete zapomenout, pokud k připojení k těmto serverům používáte stejný počítač nebo notebook.
V tomto článku vám ukážu, jak nastavit přihlášení pomocí hesla bez hesla na servery přes SSH. Pojďme tedy začít.
Topologie sítě:
Tady mám v místní síti 3 servery linuxhint-server1, linuxhint-server2, linuxhint-server3. Jako správce systému Linux používám notebook linuxhint-client který je také ve stejné síti. Chci tedy nakonfigurovat všechny servery tak, abych ke všem těmto serverům mohl přistupovat ze svého notebooku linuxhint-client bez hesla. Podívejme se tedy, jak to bude nakonfigurováno v dalších částech.
Generování klíčů SSH na klientovi:
Klíčovou myšlenkou je, že vygenerujete klíč SSH ve svém počítači nebo notebooku, ze kterého chcete přistupovat ke všem serverům. Poté nahrajte klíč SSH na servery z počítače nebo notebooku.
Chcete-li vygenerovat klíč SSH v počítači nebo notebooku, ze kterého se chcete připojit k serverům, spusťte následující příkaz:
$ ssh-keygen
Nyní stiskněte
Nyní můžete nastavit heslo pro svůj klíč SSH. Je to volitelné. Zda nastavíte heslo pro svůj klíč SSH nebo ne, záleží na tom, jak chcete nakonfigurovat přístup k serverům. Pokud zde nenastavíte heslo pro klíč SSH, nebudete k SSH na serverech potřebovat žádné heslo. Pokud zde nastavíte heslo, budete muset zadat stejné heslo při každém připojení k některému ze serverů. Je to tedy na vás. V tomto článku nenastavím heslo pro klíč SSH.
Chcete-li nastavit heslo, zadejte heslo a stiskněte
Pokud jste nastavili heslo dříve, zadejte znovu stejné heslo a stiskněte
Klíč SSH by měl být vygenerován.
Ve výchozím nastavení je ssh-keygen generuje klíč RSA o délce 2048 bitů. Pokud však chcete změnit typ a délku klíče, můžete použít volby -t a -b z ssh-keygen jak následuje:
$ ssh-keygen -t typ_klíče -b délka_bituV současné době je podporováno typ_klíče je rsa, dsa, ecdsa, a ed25519 a bit_length může být 2048, 4096 a tak dále.
Nahrávání klíče SSH na servery:
Nyní musíte na servery nahrát klíč SSH, který jste právě vygenerovali v počítači nebo notebooku. K tomu musíte mít na každém ze serverů nainstalovaný serverový software SSH (openssh-server) a musíte být schopni se k serverům přihlásit přes SSH.
Chcete-li se přihlásit linuxhint-server1 přes SSH potřebujete IP adresu linuxhint-server1 serveru. Chcete-li to provést, spusťte následující příkaz na linuxhint-server1 serveru.
$ ip aJak vidíte, IP adresa linuxhint-server1 je 192.168.21.203.
Nyní z linuxhint-client, nahrajte klíč SSH do linuxhint-server1 jak následuje:
$ ssh-copy-id shovon @ 192.168.21.203
Nyní zadejte Ano a stiskněte
Nyní zadejte přihlašovací heslo pro linuxhint-server1 server a stiskněte
Klíč SSH je třeba nahrát na server linuxhint-server1.
Stejným způsobem nahrajte klíč SSH do linuxhint-server2 také.
$ ssh-copy-id shovon @ 192.168.21.133
Nahrajte klíč SSH do linuxhint-server3 také.
$ ssh-copy-id shovon @ 192.168.21.201
SSH do serverů bez hesla:
Nyní byste měli mít přístup ke všem serverům přes SSH bez jakéhokoli hesla.
Zkusme se dostat na server linuxhint-server1:
$ ssh shovon @ 192.168.21.203
Jak vidíte, nevyzvalo mě to k zadání hesla. Místo toho jsem byl přihlášen přímo do konzoly linuxhint-server1.
Mohu se také přihlásit do linuxhint-server2 jak vidíte na obrázku níže.
$ ssh shovon @ 192.168.21.133
Jak vidíte, mohu také SSH do linuxhint-server3 také server. Skvělý!
Takto nakonfigurujete přihlášení bez hesla na servery Linux přes SSH. Děkujeme za přečtení tohoto článku.