Cum se schimbă cheia SSH pentru autentificarea fără parolă între serverele Linux?

Implementați autentificarea bazată pe cheie SSH pe Linux


SSH (Secured Shell) este un protocol care creează o conexiune securizată criptografic între clientul SSH și serverele la distanță.

Folosind SSH puteți gestiona și administra serverele la distanță în siguranță. Acest lucru poate fi util în multe feluri.

  • Desfășurare multi-server
  • Opriți / porniți serviciile de la distanță
  • Automatizare

și toată creativitatea ta (sperăm) …

Ca sysadmin, acesta este un fel de lucruri de bază de știut.

Să învățăm cum …

Voi genera o cheie privată și o cheie publică. Cheia privată trebuie să fie stocată pe mașina dvs. client ssh și trebuie păstrată în siguranță. Cheia publică trebuie copiată pe serverul de la distanță pentru a vă conecta la serverul respectiv de la mașina client SSH fără a fi necesară parola.

Veți învăța următoarele.

  • Instalați SSH (nu este necesar dacă este deja instalat)
  • Generați cheile SSH
  • Copiați cheia SSH pe un server la distanță
  • Conectați-vă la serverul de la distanță folosind SSH

În scop demonstrativ, am 2 servere cu adrese IP sub, un sistem este un client, iar celălalt este un server pe care mă voi conecta prin ssh de la o mașină client.

  • Client (utilizator -> geekflare): 192.168.56.102
  • Telecomanda (utilizator -> ubuntu): 192.168.56.101

Instalarea SSH

Înainte de a urma pașii menționați în acest articol, asigurați-vă că opensh-server este instalat pe servere. Dacă nu este instalat, rulați comenzile de mai jos pentru instalare.

sudo apt-get install openssh-server

sudo systemctl activează ssh

sudo systemctl începe ssh

Puteți rula comanda ssh pentru a verifica dacă este instalat pe sistem sau nu.

[Email protected]: ~ $ ssh

utilizare: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]

[-b bind_address] [-c cipher_spec] [-D [bind_address:] port]

[-E_file log] [-e escape_char] [-F configfile] [-I pkcs11]

[-i identitate_file] [-J [[Email protected]] gazdă [: port]] [-L adresă]

[-l nume de autentificare] [-m mac_spec] [-O ctl_cmd] [-o opțiune] [-p port]

[-QQery_option] [-RR address] [-S ctl_path] [-W gazdă: port]

[-w local_tun [: remote_tun]] destinație [comandă]

Generați cheile SSH

Acest lucru trebuie făcut pe un server client.

Rulați comanda ssh-keygen pentru a genera o cheie SSH. Doar apăsați Enter când cere fișierul, parola, aceeași parolă. Generează în mod implicit o pereche de chei din directorul ~ / .ssh. Id_rsa este cheia privată și id_rsa.pub este cheia publică asociată.

[Email protected]: ~ $ ssh-keygen

Generarea unei perechi de chei rsa publice / private.

Introduceți fișierul în care să salvați cheia (/home/geekflare/.ssh/id_rsa):

Introduceți o parolă (goală pentru nicio parolă):

Introduceți din nou aceeași frază:

Identificarea dvs. a fost salvată în /home/geekflare/.ssh/id_rsa.

Cheia dvs. publică a fost salvată în /home/geekflare/.ssh/id_rsa.pub.

Amprenta cheie este:

SHA256: 3XDm62tzJegGm8oAmFYCyeFZovJOuU42zNgyn9GzH30 [Email protected]

Imaginea randomart a cheii este:

+—[RSA 2048]—-+

| o + .. |

| + o + |

| Oo. . . o |

| .. *. * |

| B. S. o. |

| O o. . . …. |

| + @ o o. E =. o |

| B + o + .o. =. |

| + … o. oo + |

+—-[SHA256]—–+

Va genera două fișiere noi în directorul ~ / .ssh.

Copiați cheia SSH pe serverul de la distanță

Cheia privată ar trebui să fie copiată în folderul ~ / .ssh pe un server de la distanță. Majoritatea serverelor ar trebui să aibă deja acest folder, dacă nu, trebuie să creați un folder.

Și, pentru a face acest lucru:

  • Conectați-vă la serverul de la distanță cu utilizatorul la care doriți să vă conectați. În cazul meu, ubuntu-ul său
  • Asigurați-vă că directorul de lucru actual este directorul principal al utilizatorului și apoi creați un folder .ssh. Puteți utiliza, de asemenea, următoarea comandă unică pentru a crea una

mkdir -p ~ / .ssh

Dacă aveți deja folderul .ssh, atunci luați o copie de rezervă a acestuia.

În continuare, să împingem cheia publică de la un server client.

Pe aparatul client (192.168.56.102), executați comanda de mai jos pentru a copia cheia publică pe serverul de la distanță în interiorul unui fișier autorizat_keys din directorul .ssh.

[Email protected]: ~ $ cat .ssh / id_rsa.pub | ssh [Email protected] ‘pisică >> .ssh / authorized_keys’

[Email protected]parola:

Rulați comanda de mai jos pentru a seta permisiunile pe fișierul autorizat_keys pe serverul de la distanță.

[Email protected]: ~ $ ssh [Email protected] "chmod 700 .ssh; chmod 640 .ssh / autorizate_keys"

Bine, aceasta conchide cheia este schimbată și permisiunea este setată.

Conectați-vă la serverul de la distanță folosind SSH

Să testăm pentru a vedea dacă funcționează!

Să ne conectăm la serverul de la distanță (192.168.56.101) de la o mașină client (192.168.56.102) ca utilizator geekflare.

Rulați comanda de mai jos pentru a testa, de data aceasta nu va mai solicita parola.

[Email protected]: ~ $ ssh [Email protected]

Bine ați venit la Ubuntu 16.04.6 LTS (GNU / Linux 4.4.0-151-generic i686)

* Documentare: https://help.ubuntu.com

* Management: https://landscape.canonical.com

* Suport: https://ubuntu.com/ dezavantaj

346 de pachete pot fi actualizate.

11 actualizări sunt actualizări de securitate.

Ultima autentificare: 17 Iun, 00:10:32 2019, din 192.168.56.101

Poftim…

M-am conectat cu succes la serverul de la distanță. Rularea sub comanda va oferi detaliile IP ale aparatului de la distanță.

[Email protected]: ~ $ ifconfig

enp0s3 Link encap: Ethernet HWaddr 08: 00: 27: 9b: 47: 86

inet addr: 10.0.2.15 Bcast: 10.0.2.255 Masca: 255.255.255.0

inet6 addr: fe80 :: 5c62: 3267: b752: fe5d / 64 Domeniu de aplicare: Link

UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1

Pachete RX: 20239 erori: 0 scăzut: 0 depășire: 0 cadru: 0

Pachete TX: 5406 erori: 0 scăzut: 0 depășire: 0 operator: 0

coliziuni: 0 chqueuelen: 1000

Bytes RX: 22678039 (22,6 MB) octeți TX: 701710 (701,7 KB)

enp0s8 Link encap: Ethernet HWaddr 08: 00: 27: a9: 4a: 6b

inet addr: 192.168.56.101 Bcast: 192.168.56.255 Masca: 255.255.255.0

inet6 addr: fe80 :: 54a9: 761c: 9034: 21a2 / 64 Domeniu de aplicare: Link

UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1

Pachete RX: 330 erori: 0 scăzut: 0 depășire: 0 cadru: 0

Pachete TX: 197 erori: 0 scăzute: 0 depășiri: 0 operator: 0

coliziuni: 0 chqueuelen: 1000

Bytes RX: 42847 (42,8 KB) Bytes TX: 32774 (32,7 KB)

lo Link encap: Loopback local

inet addr: 127.0.0.1 Mască: 255.0.0.0

inet6 addr: :: 1/128 Domeniu de aplicare: gazdă

UP LOOPBACK RUNNING MTU: 65536 Metric: 1

Pachete RX: 997 erori: 0 scăzut: 0 depășire: 0 cadru: 0

Pachete TX: 997 erori: 0 scăzut: 0 depășire: 0 operator: 0

coliziuni: 0 chqueuelen: 1

Bytes RX: 79654 (79,6 KB) Bytes TX: 79654 (79,6 KB)

Concluzie

Configurarea schimbului de chei SSH este foarte simplă după cum puteți vedea. Sper că acest lucru vă va ajuta și interesat să aflați administrarea Linux și soluționarea problemelor, apoi verificați acest lucru Curs Udemy.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map