SSHalebo Secure Shell je zabezpečený shell, ktorý sa používa pre server vzdialený prístup zo všetkých druhov zariadení na serveryprostredníctvom tunelovaného kanála a chráneného šifrovaním, čo mu dodáva zabezpečenie, ktoré zabráni alebo aspoň extrémne sťažuje, aby tretie strany mohli zachytiť používateľské meno alebo heslo. V prípade * Nix máme tento protokol k dispozícii prostredníctvom OpenSSH, sady riešení klient-server, ktoré sú k dispozícii vo všetkých distribúciách Linuxu a súvisiacich platformách, ako je * BSD.
Ak nám teraz SSH ponúka vynikajúcu úroveň zabezpečenia, prečo by sme ho chceli používať bez potreby zadávať heslo? Môže existovať niekoľko dôvodov, ale ako generátor zvyčajne vyniká potreba vzdialeného prihlásenia pomocou skriptov a vykonávania úloh superužívateľa. Je známe, že nie je vhodné tieto údaje vkladať do žiadneho skriptu. Aby sme tento problém vyriešili, uvidíme ako vygenerovať kľúče SSH, aby ste sa mohli vzdialene prihlásiť bez potreby hesla.
Toto si vyžaduje nás generovať verejný kľúč a súkromný kľúč: prvý bude uložený na serveri, na ktorý sa chystáme získať prístup, a ako naznačuje jeho názov, môžeme ho odoslať alebo zdieľať, a druhý bude uložený v zariadení (počítač, smartphone, tablet), z ktorého sa chystáme prístup k uvedenému serveru a musí byť uchovávané veľmi opatrne a používajú ich iba my alebo ľudia, ktorým dôverujeme.
Vzhľadom na to, čo je uvedené v predchádzajúcom odseku, je dôležité poznamenať, že tento typ riešenia si vyžaduje veľmi veľkú zodpovednosť v starostlivosti o zariadenia, z ktorých ideme vstúpiť na server, a to že každý, kto má prístup k budú ho môcť zadať bez potreby poznania hesla, čo je veľmi veľké bezpečnostné riziko. Po objasnení toho sa pozrime, ako môžeme začať. Najskôr je potrebné nainštalovať démona SSH na server:
# apt-get nainštalovať openssh-server
Teraz musíme vytvoriť adresár .ssh v adresári používateľov:
# mkdir -p $ HOME / .ssh
# chmod 0700 $ DOMOV / .ssh
# dotknite sa $ HOME / .ssh / authorized_keys
Upravujeme súbor / Etc / ssh / sshd_config a overíme, že nasledujúce riadky sú také, aké sú:
PubkeyAuthentication áno
AuthorizedKeysFile% h / .ssh / authorized_keys
Teraz ideme ku klientovi a vykonáme:
ssh -keygen -t rsa
Dozvieme sa, že sa kľúč vytvára, a zobrazí sa nám výzva na zadanie súboru, v ktorom bude uložený (predvolene bude v našej domácnosti, v priečinku s názvom /.ssh/id_rsa). Môžeme stlačiť kláves Enter, pretože toto miesto nám slúži perfektne, a potom stlačíme kláves Enter znova dvakrát, keď sme požiadaní zadajte prístupovú frázu pretože pamätajte, že ideme vstúpiť na diaľku bez zadania akýchkoľvek údajov, takže nechceme ani frázu.
Teraz, keď máme verejný kľúč, musíme ho zdieľať s počítačmi, ku ktorým sa chystáme pripojiť. Za predpokladu, že server, o ktorom hovoríme, má adresu 192.168.1.100, musíte urobiť:
ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100
Po skopírovaní budeme pozvaní na vykonajte vzdialené prihlásenie na otestovanie kľúčov, a v tomto prípade je potrebné vziať do úvahy koreň Je to účet, s ktorým ideme pristupovať na server, takže ak to chceme urobiť s iným používateľom, musíme upraviť root pre užívateľský účet, s ktorým budeme vykonávať prístup cez SSH.
Teraz musíme iba reštartovať server SSH, aby získal novú konfiguráciu:
# /etc/init.d/ssh reštart
Odteraz, ak chceme získať prístup k druhému serveru a urobiť to bez zadania hesla, musíme mu jednoducho poslať verejný kľúč, s ktorým jednoducho zopakujeme posledný krok a podľa potreby zmeníme používateľa a IP adresu:
ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228
Ďakujem za informácie, ale nič ... neexistuje spôsob ...
Snažil som sa celé ráno a vždy si pýta moje heslo.
Pred časom som sa o to pokúsil a z rovnakého dôvodu som to nechal nemožné.
Vytvorím si kľúč na svojom Macbooku, skopírujem ho do svojej maliny v priečinku ~ / .ssh / authorizedKeys
Konfigurujem sshd.conf s verejnou autentifikáciou a overím, že adresár kľúčov je presne tam, kde sú kľúče. Reštartujem malinu a pri pripájaní sa ma znova pýta na heslo
Čo môže zlyhať?
Po niekoľkých hodinách vyskúšania mnohých vecí som zistil, že so mnou vytvoreným používateľom to nikdy nefunguje, ale s predvoleným používateľom, ktorý sa volá „ubuntu“, funguje prvýkrát.
Nejaké objasnenie, prečo sa to môže stať?
Saludos y gracias