Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills
21.10.2024
No categories

Как се създават SSH ключове с OpenSSH в MacOS или Linux

В света на безопасната отдалечена комуникация SSH (Secure Shell) е един от най-често използваните протоколи за свързване с отдалечени сървъри. SSH осигурява сигурен метод за влизане в отдалечени машини и изпълнение на команди по мрежата. Един от най-сигурните начини за удостоверяване чрез SSH е с помощта на SSH ключове, които позволяват удостоверяване без парола и добавят допълнително ниво на сигурност. SSH ключовете се предлагат по двойки: частен ключ и публичен ключ. В тази статия ще преминем през стъпките за създаване на SSH ключове с помощта на OpenSSH в macOS или Linux

Какво представляват SSH ключовете?

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

Защо да използвате SSH ключове?

  • Повишена сигурност: SSH ключовете са по-трудни за разбиване от традиционните пароли, което намалява риска от неоторизиран достъп.
  • Удостоверяване без парола: Веднъж настроени, SSH ключовете ви позволяват да влизате в сървърите, без да въвеждате парола всеки път.
  • Автоматизирани процеси: SSH ключовете са идеални за автоматизиране на скриптове, резервни копия и прехвърляне на файлове, които изискват сигурен отдалечен достъп.

Предварителни условия

За да следвате това ръководство, ще ви е необходимо

  1. MacOS или Linux машина с инсталиран OpenSSH (OpenSSH е включен по подразбиране и на двете платформи).
  2. Достъп до отдалечен сървър, където ще поставите публичния ключ.

Ръководство стъпка по стъпка за създаване на SSH ключове

Стъпка 1: Отворете терминал

Както в macOS, така и в Linux приложението Terminal предоставя интерфейс за изпълнение на команди от командния ред. Отворете терминала, като

  • macOS: Потърсете “Terminal” в Spotlight (натиснете Cmd + Space) или го намерете в Applications > Utilities.
  • Linux: Натиснете Ctrl + Alt + T или потърсете Terminal в менюто на приложението.

Стъпка 2: Генериране на двойката SSH ключове

За да генерирате нова двойка SSH ключове, използвайте следната команда в терминала

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
#

Обяснение на опциите

  • t rsa: Посочва типа на ключа, който ще се създаде. RSA е един от най-често използваните алгоритми.
  • b 4096: Задава дължината на ключа на 4096 бита за по-голяма сигурност.
  • C “your_email@example.com”: Добавя коментар към ключа, който обикновено се използва за идентифициране на ключа. Заменете го с вашия имейл или описателно име.

След като стартирате тази команда, ще видите изходни данни, подобни на

Generating public/private rsa key pair.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
#

Стъпка 3: Изберете местоположение на файла (по избор)

По подразбиране ключът ще бъде записан в директорията .ssh в домашната ви папка като id_rsa (частен ключ) и id_rsa.pub (публичен ключ). Натиснете Enter, за да потвърдите местоположението по подразбиране, или можете да посочите друг път

Enter file in which to save the key (/Users/yourusername/.ssh/id_rsa): [Press Enter]
#

Стъпка 4: Задайте парола (по желание, но се препоръчва)

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

Enter passphrase (empty for no passphrase):

Паролата осигурява допълнително ниво на сигурност, като изисква от вас да я въвеждате всеки път, когато използвате частния си ключ. Можете да оставите това поле празно, ако предпочитате да не използвате парола (въпреки че е препоръчително за по-голяма сигурност). Ако зададете парола, уверете се, че тя е нещо, което можете да запомните или да съхранявате сигурно

Стъпка 5: Потвърдете създаването на двойката ключове

След като завършите стъпките, ще видите изходни данни, подобни на

Това показва, че както частният ключ (id_rsa), така и публичният ключ (id_rsa.pub) са били успешно създадени и съхранени в директорията .ssh

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

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

ssh-copy-id user@your-server.com
#

Заменете user@your-server.com с действителното си потребителско име и адрес на сървъра. Ще бъдете подканени да въведете паролата си за отдалечения сървър. Ако не разполагате с ssh-copy-id, можете да копирате публичния ключ ръчно

  1. Покажете съдържанието на публичния си ключ, като стартирате
    cat ~/.ssh/id_rsa.pub
  2. Копирайте резултата и го поставете във файла.ssh/authorized_keys на отдалечения сървър. Можете да направите това, като влезете в сървъра
    ssh user@your-server.com

    След това създайте директорията .ssh (ако тя не съществува) и добавете ключа

    mkdir -p ~/.ssh
    echo "your-copied-public-key" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Стъпка 7: Тестване на SSH връзката

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

ssh user@your-server.com

Ако всичко е настроено правилно, би трябвало да можете да влезете в системата, без да въвеждате парола (освен ако не сте задали парола за ключа си, в който случай ще трябва да я въведете)

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

  • Списък на всички ключове: Ако имате няколко ключа, можете да ги изброите, като отидете в директорията .ssh
    ls ~/.ssh
  • Добавяне на ключове към SSH агента: Ако искате да избегнете многократното въвеждане на паролата, можете да добавите ключа си към SSH агента
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Заключение

Създаването на SSH ключове с OpenSSH в macOS или Linux е прост, но мощен начин да подобрите сигурността на връзките си с отдалечени сървъри. Вместо да се разчита единствено на пароли, които могат да бъдат отгатнати или насилствено използвани, SSH ключовете предоставят криптографски метод за удостоверяване, който е едновременно по-сигурен и по-удобен. Това ги прави съществена част от съвременните практики за управление на сървъри. Веднъж генерирана, двойката SSH ключове ви позволява да влизате в сървърите, без да се налага да въвеждате паролата си всеки път. Това не само спестява време, но и намалява риска от неоторизиран достъп. С инструментите на OpenSSH процесът на създаване, копиране и управление на ключове е лесен дори за потребители, които не са напреднали системни администратори. Крайният резултат е по-плавен работен процес и по-силна защита на вашата инфраструктура. Например с помощта на командата ssh-keygen -t ed25519 -C “your_email@example.com” се създава нов SSH ключ със съвременно криптиране, като той се съхранява локално на вашата машина. След като добавите публичния ключ към файла ~/.ssh/authorized_keys на вашия сървър, можете да се свържете с помощта на ssh user@server, без да въвеждате парола. Този подход съчетава едновременно сигурност и ефективност, което прави SSH ключовете безценни за разработчици, системни администратори и всички, които редовно управляват отдалечени машини

Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills

Похожие записи не найдены.