Как да добавите SSH ключове към нов или съществуващ VPS
Когато управлявате виртуален частен сървър (VPS), сигурността е основен приоритет, а един от най-сигурните начини за удостоверяване на автентичността на сървъра е използването на SSH ключове. SSH ключовете осигуряват сигурен метод за влизане в сървъра без парола чрез използване на криптография с публичен ключ. Това ръководство ще ви преведе през процеса на добавяне на SSH ключове както към нови, така и към съществуващи VPS среди, като ви осигури безпроблемно и сигурно влизане в сървъра.
Какво представляват SSH ключовете?
SSH ключовете представляват двойка криптографски ключове – публичен и частен ключ, които се използват за удостоверяване. Публичният ключ се съхранява на сървъра, а частният ключ остава на вашата локална машина. Когато се опитате да влезете в системата, сървърът проверява публичния ключ спрямо частния ключ и ако те съвпадат, ви се предоставя достъп, без да е необходимо да въвеждате парола. SSH ключовете предлагат по-сигурен метод от традиционните пароли, които са податливи на атаки с груба сила.
Защо да използвате SSH ключове?
- Повишена сигурност: SSH ключовете използват криптографско удостоверяване, което е много по-сигурно от паролите.
- Удостоверяване без парола: След като конфигурирате SSH ключовете, можете да влезете в своя VPS, без да е необходимо да въвеждате парола.
- Автоматизация: SSH ключовете са идеални за автоматизиране на задачи като архивиране, отдалечено прехвърляне на файлове и скриптове за системна администрация.
Предварителни условия
Преди да започнем, уверете се, че имате:
- Достъп до VPS (нов или съществуващ).
- SSH, инсталирано на локалната ви машина (обикновено е инсталирано по подразбиране на macOS и Linux).
- Двойка SSH ключове. Ако не разполагате с такава, ще опишем как да я генерирате.
Добавяне на SSH ключове към нов VPS
Ако настройвате нов VPS, много доставчици на хостинг ви позволяват да добавите SSH ключ по време на процеса на създаване на VPS. Ето как можете да го направите:
Стъпка 1: Генериране на двойка SSH ключове (ако нямате такъв)
Ако все още нямате двойка SSH ключове, можете да генерирате такава, като използвате следната команда в локалния си терминал (за macOS или Linux):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Тази команда създава нов SSH ключ, използвайки 4096-битово RSA криптиране, и добавя вашия имейл като коментар към ключа. Следвайте указанията на екрана, за да запазите ключа в местоположението по подразбиране(~/.ssh/id_rsa) и, по желание, да добавите парола за допълнително ниво на сигурност.
Генерираните файлове са:
- id_rsa: Частният ключ (никога не го споделяйте).
- id_rsa.pub: Публичният ключ (този ключ се качва на вашия VPS).
За да покажете публичния ключ, изпълнете следната команда и копирайте резултата
cat ~/.ssh/id_rsa.pub
Стъпка 2: Влезте във вашия доставчик на VPS
На първо място трябва да влезете във вашия VPS акаунт. Повечето доставчици ви дават възможност да добавите SSH ключ по време на настройката на VPS.
Стъпка 3: Създаване на нов VPS и добавяне на SSH ключ
По време на процеса на създаване на VPS:
- Изберете операционната система (обикновено базирана на Linux, като Ubuntu или CentOS).
- Потърсете опцията Add SSH Key (Добавяне на SSH ключ) или Authentication Method (Метод за удостоверяване).
- Поставете публичния SSH ключ (id_rsa.pub) в предоставеното поле.
- Завършете настройката на VPS, като изберете план, регион и други опции.
След като VPS бъде създаден, той автоматично ще бъде конфигуриран да позволява SSH достъп с помощта на вашия SSH ключ.
Стъпка 4: Свързване към VPS
Сега, когато VPS е конфигуриран с вашия SSH ключ, можете да се свържете с него, като използвате следната команда (заменете your_vps_ip с IP адреса на вашия VPS):
ssh root@your_vps_ip
Ако всичко е настроено правилно, ще можете да
сте влезли във вашия VPS, без да е необходимо да въвеждате парола.
Добавяне на SSH ключове към съществуващ VPS
Ако вече имате съществуващ VPS, но в момента използвате удостоверяване с парола, можете да добавите SSH ключове, за да защитите бъдещите влизания. Ето как да го направите:
Стъпка 1: Генериране на двойка SSH ключове (ако е необходимо)
Ако все още не сте генерирали двойка SSH ключове, изпълнете следната команда на локалната си машина, за да я създадете:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Копирайте публичния ключ(id_rsa.pub), като изпълните:
cat ~/.ssh/id_rsa.pub
Стъпка 2: Влезте във вашия VPS
За да добавите SSH ключ към съществуващ VPS, ще трябва да влезете в него по текущия метод (вероятно с парола). Използвайте следната команда, за да се свържете с вашия VPS (заменете your_vps_ip с действителния IP адрес):
ssh root@your_vps_ip
Въведете паролата си, когато бъдете подканени.
Стъпка 3: Създаване на директорията .ssh (ако не е налична)
След като влезете във вашия VPS, проверете дали директорията.ssh съществува. Ако не, създайте я, като изпълните следните команди:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
Директорията .ssh е мястото, където ще се съхранява публичният ви ключ.
Стъпка 4: Добавяне на публичния ключ към файла authorized_keys
След това трябва да добавите публичния си ключ към файла authorized_keys, който се използва от SSH за удостоверяване на опитите ви за влизане.
- Отворете файла authorized_keys (създайте го, ако не съществува) с помощта на текстов редактор, например nano:
nano ~/.ssh/authorized_keys
- Поставете публичния си SSH ключ (копиран от командата cat ~/.ssh/id_rsa.pub ) във файла.
- Запишете и затворете файла, като натиснете Ctrl X, след това Y и натиснете Enter.
- Задайте правилните разрешения на файла authorized_keys, за да сте сигурни, че той е достъпен само за текущия потребител:
chmod 600 ~/.ssh/authorized_keys
Стъпка 5: Тестване на удостоверяването на SSH ключове
След като добавите SSH ключа, излезте от текущата сесия, като въведете:
exit
Сега опитайте отново да влезете във вашия VPS чрез SSH:
ssh root@your_vps_ip
Ако ключът е бил добавен успешно, трябва да влезете в системата, без да ви бъде поискана парола.
Стъпка 6: Деактивиране на удостоверяването с парола (по избор)
За допълнителна сигурност можете да деактивирате удостоверяването на паролата, за да се гарантира, че за влизане в системата могат да се използват само SSH ключове. За да направите това:
- Отворете конфигурационния файл SSH на вашия VPS:
nano /etc/ssh/sshd_config
- Намерете следните редове и ги променете на:
PasswordAuthentication no
PubkeyAuthentication yes
- Запазете файла и рестартирайте SSH услугата, за да приложите промените:
systemctl restart sshd
Това ще деактивира входните данни, базирани на парола, като ще позволи достъп до сървъра само на потребители с валиден SSH ключ.
Заключение
Използването на SSH ключове е един от най-ефективните начини за осигуряване на достъп до вашия VPS, като премахва необходимостта от традиционното удостоверяване с парола. Независимо дали създавате нов VPS или защитавате съществуващ, добавянето на SSH ключове е лесен процес, който значително подобрява сигурността. Като следвате това ръководство, можете лесно да конфигурирате SSH ключове на своя VPS, да автоматизирате сигурните влизания и да осигурите по-високо ниво на защита на сървъра и данните си.