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

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

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

Skills
20.01.2025
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”: Добавя коментар към ключа, който обикновено се използва за идентифициране на ключа. Заменете го с вашия имейл или описателно име.

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

Генериране на двойка публичен/частен rsa ключ.
Въведете файла, в който да запишете ключа (/home/yourusername/.ssh/id_rsa):

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

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

Пример:

Въведете файла, в който да запишете ключа (/Users/yourusername/.ssh/id_rsa): [Натиснете Enter]

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

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

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

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

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

Стъпка 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 ключовете са основен инструмент за всеки разработчик, системен администратор или всеки, който често работи с отдалечени сървъри.

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

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

Skills