Как да използвате ssh-keygen за генериране на SSH ключ

How Use Ssh Keygen Generate An Ssh Key



SSH или Secure Shell е полезен криптиран протокол за защита на връзките между клиента и сървъра за различни административни задачи. Той поддържа различни видове системи за удостоверяване. Основно се използват удостоверяване на базата на публичен ключ и удостоверяване на базата на парола. Удостоверяването въз основа на ключ е по-сигурно от удостоверяването, базирано на парола. Двойките ключове за удостоверяване за SSH се генерират от инструмента ssh-keygen, който може да се използва за различни цели, като например удостоверяване на хоста, автоматизирано влизане и т.н. Как този инструмент може да се използва в Ubuntu е показано в този урок.

Синтаксис:

Синтаксисът на тази команда е даден по -долу. Той поддържа много опции за генериране на двойки ключове за удостоверяване, които са описани по -късно.







ssh-keygen [-q] [-b бита] [-Как е това] [-f output_keyfile] [-m формат]

[-t dsa|ecdsa|ecdsa-sk|ed25519|ed25519-sk|rsa]

[-N new_passphrase] [-О опция] [-w доставчик]

Различни опции на ssh-keygen:

Целите на използването на различни типове опции на ssh-keygen са обяснени по-долу.



Опция Предназначение
-ДА СЕ Той генерира хостовите ключове с пътя на файла с ключове по подразбиране, празна парола, битове по подразбиране за типа ключ и коментар.
-b бита Използва се за определяне на броя битове в ключа, който ще бъде създаден.
-Как е това Използва се за определяне на новия коментар.
-° С Използва се за заявка за промяна на коментара на файловете с публичен и личен ключ.
-E пръстов отпечатък_хаш Използва се за определяне на алгоритъма за хеш, който ще се използва за показване на пръстовите отпечатъци.
Използва се за четене на файл с частен или публичен ключ и отпечатване на stdout.
-F име на хост | [име на хост]: порт Използва се за търсене на конкретното име на хост с незадължителен номер на порт във файла known_hosts.
-f име на файл Използва се за определяне на името на файла с ключовия файл.
Използва се за хеширане на известен_hosts файл. Той ще замени всички имена на хостове и адреси с хеширани представителства в посочения файл. Оригиналното съдържание ще бъде преместено във файл с .old суфикс.
Използва се за четене на некриптиран файл с частен (или публичен) ключ.
-ТЕ Използва се за отпечатване на съдържанието на един или повече сертификати.
-на Използва се за показване на пръстовия отпечатък на определен файл с публичен ключ.
-N new_passphrase Използва се за предоставяне на новата парола.
-P паролна фраза Използва се за предоставяне на старата парола.
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Използва се за определяне на типа ключ, който ще бъде създаден.

Създайте ключове с помощта на ssh-keygen:

Можете да създадете двойки ключове SSH, като изпълните ssh-keygen с опции или без никаква опция. В тази част на този урок са показани различни начини за създаване на двойки ключове SSH. Трябва да влезете в сървърната машина, където OpenSSH е инсталирал, за да създадете ключовете



Генерирайте двойките ключове без никаква опция:

Следващата команда ще създаде двойки ключове, без да използва никаква опция.





$ssh-keygen

След като изпълните горната команда, можете да предоставите името на файла, където ще бъде записан ключът, или да натиснете клавиша Enter, за да запазите името на файла по подразбиране. Тук е натиснат клавишът Enter. След това можете да натиснете отново клавиша Enter, за да зададете празната парола или да зададете паролата.



Генерирайте двойките ключове с една опция:

Следващата команда ще генерира ключовите двойки от типа rsa, споменати в командата с опцията -t.

$ssh-keygen -Trsa

Подобно на предишната команда, можете да предоставите името на файла или да използвате името на файла по подразбиране за съхраняване на двойките ключове и да зададете паролата или празната парола за SSH връзката.

Генерирайте двойките ключове с множество опции:

Изпълнете следната команда, за да генерирате ключовите двойки тип rsa с 2000 бита и стойността на коментара,[защитен имейл].

$ssh-keygen -Trsa-b 2000 г. -° С ' [имейл защитен] '

Подобно на предишната команда, можете да предоставите името на файла или да използвате името на файла по подразбиране за съхраняване на двойките ключове и да зададете паролата или празната парола за SSH връзката. Ако сте генерирали ключовите файлове, преди да изпълните горната команда, тя ще ви помоли да презапишете ключовия файл или не. Ако въведете „y“, той ще презапише генерирания по -рано файл с новите ключове.

Копирайте публичния ключ на сървъра:

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

$ssh-copy-id~/.ssh/id_rsa fahmida@fahmida-VirtualBox

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

Променете конфигурационния файл на сървъра:

Трябва да активирате някои опции в конфигурационния файл на сървърната машина, ако искате да зададете удостоверяване на базата на парола и да разрешите влизането на root на сървъра. Пътят към конфигурационния файл на SSH на сървъра е/etc/ssh/sshd_config. Отворете файла във всеки текстов редактор. Изпълнете следната команда, за да редактирате файла в nano редактор.

$sudo нано /и т.н./ssh/sshd_config

Добавете или променете файла със следните редове, за да активирате удостоверяването на базата на парола и да зададете разрешение за влизане на root потребител.

PasswordAuthenticationда

PermitRootLoginда

Запишете и затворете файла. Изпълнете следната команда, за да рестартирате SSH услугата.

$sudoрестартиране на systemctlssh

Вход от SSH клиента:

Влезте в клиентската машина, от която искате да се свържете със сървъра, за да проверите дали SSH връзката работи. Отворете терминала и изпълнете следната команда, за да добавите самоличността на сървърната машина.

$ssh-add

Изпълнете следната команда ssh, за да се свържете със сървърната машина от клиентската машина. Удостоверяването на паролата и root входът са активирани в конфигурационния файл на SSH на сървъра в предишната част на този урок. Така че потребителят трябва да предостави валидната коренна парола на сървърната машина, за да установи успешно SSH връзка.

$ssh <да сеhref='mailto: [защитен имейл]'>fahmida@10.0.2.15

Следният подобен изход ще се появи след установяване на SSH връзка със сървъра от клиента.

Заключение:

Използването на ssh-keygen за генериране на двойка SSH ключове по различни начини е обяснено в този урок. Надявам се, че потребителят на Ubuntu ще генерира SSH ключовете, като използва ssh-keygen за установяване на SSH връзка, след като прочете този урок.