Našťastie existuje lepšie riešenie. Môžete povedať všetkým serverom, ktoré spravujete, aby dôverovali počítaču alebo notebooku, ktorý používate na ich pripojenie a konfiguráciu. Týmto spôsobom sa môžete na tieto servery prihlásiť bez hesla alebo s rovnakým heslom. Pri tejto metóde potrebujete poznať prihlasovacie heslo týchto serverov iba raz. Potom na to môžete zabudnúť, pokiaľ na pripojenie k týmto serverom používate rovnaký počítač alebo prenosný počítač.
V tomto článku vám ukážem, ako nastaviť heslo bez prihlásenia na servery pomocou SSH. Takže poďme na to.
Topológia siete:
Tu mám v miestnej sieti 3 servery linuxhint-server1, linuxhint-server2, linuxhint-server3. Ako správca systému Linux používam laptop linuxhint-client ktorá je tiež v rovnakej sieti. Takže chcem nakonfigurovať všetky servery tak, aby som mal prístup k všetkým týmto serverom z môjho notebooku linuxhint-client bez hesla. Pozrime sa teda, ako to bude nakonfigurované v ďalších častiach.
Generovanie kľúčov SSH na klientovi:
Kľúčovou myšlienkou je, že vygenerujete kľúč SSH vo svojom počítači alebo notebooku, z ktorého chcete mať prístup na všetky servery. Potom nahrajte kľúč SSH na servery z počítača alebo notebooku.
Ak chcete vygenerovať kľúč SSH v počítači alebo notebooku, z ktorého sa chcete pripojiť k serverom, spustite nasledujúci príkaz:
$ ssh-keygen
Teraz stlačte
Teraz môžete nastaviť heslo pre svoj kľúč SSH. Je to voliteľné. To, či nastavíte heslo pre svoj kľúč SSH alebo nie, závisí od toho, ako chcete nakonfigurovať prístup k serverom. Ak tu nezadáte heslo pre kľúč SSH, nebudete na servery potrebovať žiadne heslo k SSH. Ak tu nastavíte heslo, budete musieť zadávať rovnaké heslo pri každom pripojení k niektorému zo serverov. Je to teda na vás. V tomto článku nenastavím heslo pre kľúč SSH.
Ak chcete nastaviť heslo, zadajte ho a stlačte
Ak ste nastavili heslo skôr, zadajte rovnaké heslo znova a stlačte
Kľúč SSH by sa mal vygenerovať.
V predvolenom nastavení je ssh-keygen generuje kľúč RSA s dĺžkou 2048 bitov. Ak však chcete zmeniť typ a dĺžku kľúča, môžete použiť možnosti -t a -b z ssh-keygen nasledovne:
$ ssh-keygen -t typ_kľúča -b bit_lengthMomentálne podporované key_type je rsa, dsa, ecdsa, a ed25519 a bit_length môže byť 2048, 4096 a tak ďalej.
Nahrávanie kľúča SSH na servery:
Teraz musíte na servery nahrať kľúč SSH, ktorý ste práve vygenerovali v počítači alebo notebooku. Preto musíte mať na každom zo serverov nainštalovaný serverový softvér SSH (openssh-server) a musíte byť schopní prihlásiť sa na servery cez SSH.
Ak sa chcete prihlásiť linuxhint-server1 cez SSH potrebujete IP adresu linuxhint-server1 server. Urobíte to spustením nasledujúceho príkazu na serveri linuxhint-server1 server.
$ ip aAko vidíte, IP adresa domény linuxhint-server1 je 192.168.21.203.
Teraz od linuxhint-client, nahrať kľúč SSH do linuxhint-server1 nasledovne:
$ ssh-copy-id shovon @ 192.168.21.203
Teraz zadajte Áno a stlačte
Teraz zadajte prihlasovacie heslo účtu linuxhint-server1 server a stlačte
Kľúč SSH by sa mal nahrať na server linuxhint-server1.
Rovnakým spôsobom nahrajte kľúč SSH do linuxhint-server2 tiež.
$ ssh-copy-id shovon @ 192.168.21.133
Nahrajte kľúč SSH do linuxhint-server3 tiež.
$ ssh-copy-id shovon @ 192.168.21.201
SSH na servery bez hesla:
Teraz by ste mali mať prístup na všetky servery cez SSH bez akéhokoľvek hesla.
Pokúsime sa o prístup na server linuxhint-server1:
$ ssh shovon @ 192.168.21.203
Ako vidíte, nevyzvalo ma to na zadanie hesla. Namiesto toho som bol prihlásený priamo do konzoly linuxhint-server1.
Môžem sa tiež prihlásiť do linuxhint-server2 servera bez hesla, ako vidíte na snímke obrazovky nižšie.
$ ssh shovon @ 192.168.21.133
Ako vidíte, môžem tiež SSH do linuxhint-server3 server. Skvelé!
Takto nakonfigurujete prihlásenie na servery Linux bez hesla pomocou SSH. Ďakujeme, že ste si prečítali tento článok.