Как да обмените SSH ключ за удостоверяване без парола между Linux сървъри?

Внедрете SSH базирана идентификация на Linux


SSH (Защитена обвивка) е протокол, който създава криптографски защитена връзка между SSH клиента и отдалечените сървъри.

С помощта на SSH можете да управлявате и администрирате отдалечени сървъри сигурно. Това може да бъде полезно по много начини.

  • Разгръщане на много сървъри
  • Спиране / стартиране на услуги от разстояние
  • Автоматизация

и цялото ви творчество (надявам се) …

Като sysadmin това е вид основни неща, които трябва да знаете.

Нека научим как …

Ще генерирам частен ключ и публичен ключ. Частният ключ трябва да се съхранява на вашата ssh клиентска машина и трябва да бъде защитен. Публичният ключ трябва да бъде копиран на отдалечения сървър, за да влезете в този сървър от SSH клиентската машина, без да се изисква парола.

Ще научите следното.

  • Инсталирайте SSH (не се изисква, ако вече е инсталиран)
  • Генериране на SSH ключове
  • Копирайте SSH ключ на отдалечен сървър
  • Влезте в отдалечения сървър чрез SSH

За демонстрация имам 2 сървъра с по-долу IP адреси, едната система е клиент, а другата е сървър, на който ще вляза чрез ssh от клиентска машина.

  • Клиент (потребител) -> Geekflare): 192.168.56.102
  • Дистанционно (потребител) -> ubuntu): 192.168.56.101

Инсталиране на SSH

Преди да следвате стъпките, споменати в тази статия, уверете се, че openssh-сървърът е инсталиран на сървърите. Ако тя не е инсталирана, изпълнете командите по-долу, за да инсталирате.

sudo apt-get install openssh-сървър

sudo systemctl enable ssh

sudo systemctl start ssh

Можете да стартирате ssh команда, за да проверите дали е инсталирана в системата или не.

[Имейл защитен]: ~ $ ssh

използване: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]

[-b bind_address] [-c cipher_spec] [-D [bind_address:] порт]

[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]

[-i идентичност_файл] [-J [[Имейл защитен]] хост [: порт]] [-L адрес]

[-l име за вход] [-m mac_spec] [-O ctl_cmd] [-o опция] [-p порт]

[-Q query_option] [-R адрес] [-S ctl_path] [-W хост: порт]

[-w local_tun [: remote_tun]] дестинация [команда]

Генериране на SSH ключове

Това трябва да се направи на клиентски сървър.

Изпълнете командата ssh-keygen, за да генерирате SSH ключ. Просто натиснете Enter, когато поиска файла, паролата, същата парола. Той генерира по подразбиране двойка ключове в директорията ~ / .ssh. Id_rsa е частният ключ, а id_rsa.pub е свързаният публичен ключ.

[Имейл защитен]: ~ $ ssh-keygen

Генериране на публична / частна двойка rsa.

Въведете файл, в който да запазите ключа (/home/geekflare/.ssh/id_rsa):

Въведете парола (празна за без парола):

Въведете отново същата парола:

Вашата идентификация е запазена в /home/geekflare/.ssh/id_rsa.

Публичният ви ключ е запазен в /home/geekflare/.ssh/id_rsa.pub.

Ключовият отпечатък е:

SHA256: 3XDm62tzJegGm8oAmFYCyeFZovJOuU42zNgyn9GzH30 [Имейл защитен]

Случайното изображение на ключа е:

+—[RSA 2048]—-+

| o + .. |

| + о + |

| OO. , , о |

| .. *. * |

| Б. С . о. |

| О о. , , …. |

| + @ o o. Е =. о |

| B + o + .o. =. |

| + … о. oo + |

+—-[SHA256]—–+

Той ще генерира два нови файла в ~ / .ssh директория.

Копирайте SSH ключ на отдалечен сървър

Частният ключ трябва да бъде копиран в папка ~ / .ssh на отдалечен сървър. Повечето сървъри вече трябва да имат тази папка, ако не, трябва да създадете папка.

И, за да направите това:

  • Влезте в отдалечения сървър с потребителя, с когото искате да се свържете. В моя случай неговата ubuntu
  • Уверете се, че настоящата работна директория е домашната директория на потребителя и след това създайте .ssh папка. Можете също да използвате следната единична команда, за да създадете такава

mkdir -p ~ / .ssh

Ако вече имате папка .ssh, след това вземете резервно копие на нея.

След това, нека натиснете публичния ключ от клиентски сървър.

На клиентската машина (192.168.56.102) стартирайте командата по-долу, за да копирате публичния ключ на отдалечения сървър вътре в файла с разрешен_ ключ в .ssh директория.

[Имейл защитен]: ~ $ cat .ssh / id_rsa.pub | SSH [Имейл защитен] “котка >> .SSH / authorized_keys “

[Имейл защитен]парола:

Изпълнете командата по-долу, за да зададете разрешения на файла с разрешен ключ на отдалечен сървър.

[Имейл защитен]: ~ $ ssh [Имейл защитен] "chmod 700 .ssh; chmod 640 .ssh / разрешени_контакти"

Чудесно, това заключение се разменя ключ и разрешение е всичко.

Влезте в отдалечен сървър чрез SSH

Да тестваме, за да видим дали работи!

Влезте в отдалечения сървър (192.168.56.101) от клиентска машина (192.168.56.102) като потребител на geekflare.

Изпълнете командата по-долу, за да тествате, този път няма да поиска парола.

[Имейл защитен]: ~ $ ssh [Имейл защитен]

Добре дошли в Ubuntu 16.04.6 LTS (GNU / Linux 4.4.0-151-generic i686)

* Документация: https://help.ubuntu.com

* Управление: https://landscape.canonical.com

* Поддръжка: https://ubuntu.com/ предимство

346 пакета могат да бъдат актуализирани.

11 актуализации са актуализации за сигурност.

Последно влизане: пн юни 17 00:10:32 2019 от 192.168.56.101

Заповядай…

Влязох успешно на отдалечен сървър. Изпълняването под командата ще даде IP подробности за отдалечената машина.

[Имейл защитен]: ~ $ ifconfig

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

inet addr: 10.0.2.15 Bcast: 10.0.2.255 Маска: 255.255.255.0

inet6 addr: fe80 :: 5c62: 3267: b752: fe5d / 64 Обхват: Връзка

НАГРАДАНЕ НА РАЗГРАЖДАНЕТО НА МНОГОТО МНОГО: 1500 Метрика: 1

RX пакети: 20239 грешки: 0 отпаднали: 0 превишения: 0 кадър: 0

TX пакети: 5406 грешки: 0 отпаднали: 0 превишения: 0 превозвач: 0

сблъсъци: 0 txqueuelen: 1000

RX байтове: 22678039 (22,6 MB) 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 Маска: 255.255.255.0

inet6 addr: fe80 :: 54a9: 761c: 9034: 21a2 / 64 Обхват: Връзка

НАГРАДАНЕ НА РАЗГРАЖДАНЕТО НА МНОГОТО МНОГО: 1500 метрика: 1

RX пакети: 330 грешки: 0 отпаднали: 0 превишения: 0 кадър: 0

TX пакети: 197 грешки: 0 отпаднали: 0 превишения: 0 превозвач: 0

сблъсъци: 0 txqueuelen: 1000

RX байтове: 42847 (42,8 KB) TX байтове: 32774 (32,7 KB)

lo Link encap: Local Loopback

inet addr: 127.0.0.1 Маска: 255.0.0.0

inet6 addr: :: 1/128 Обхват: Домакин

НАГОРЕ НА ЛУПОБАК РЪКАНЕ MTU: 65536 Показател: 1

RX пакети: 997 грешки: 0 отпаднали: 0 превишения: 0 кадър: 0

TX пакети: 997 грешки: 0 отпаднали: 0 превишения: 0 превозвач: 0

сблъсъци: 0 txqueuelen: 1

RX байтове: 79654 (79,6 KB) TX байтове: 79654 (79,6 KB)

заключение

Настройката на SSH обмен на ключове е много проста, както виждате. Надявам се това да ви помогне и да се интересувате от научаването на администрацията на Linux и отстраняването на проблеми след това проверете това Удеми курс.

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