SSH (secure shell) - протокол за създаване на криптирана връзка между клиент и сървър. Благодарение на тази технология можете да управлявате отдалечено компютъра. В терминала се осъществява взаимодействие с помощната програма и по подразбиране се добавя към операционната система CentOS 7. t Затова днес бихме искали да разгледаме подробно стандартната процедура за конфигуриране, която ще бъде полезна на всеки, който ще работи с SSH.
Съдържанието
Процесът на конфигуриране е индивидуален за всеки системен администратор, но все още има няколко елемента, които са полезни за всички потребители. В тази статия ще говорим не само за сървърния компонент, но и за клиентския компонент, както и за това кое устройство изпълнява конкретно действие.
Вече казахме, че SSH по подразбиране е добавен към списъка на CentOS 7 системните библиотеки, но понякога по някаква причина липсват необходимите компоненти на компютъра. В този случай те ще трябва да добавят, а след това да активират сървъра.
sudo yum -y install openssh-server openssh-clients
там. sudo chkconfig sshd on
. service sshd start
. netstat -tulpn | grep :22
netstat -tulpn | grep :22
. След успешно завършване на горните инструкции, можете спокойно да се придвижите до началото на конфигурацията. Бихме искали да обърнем внимание на факта, че е необходимо да прочетете известията, показани на екрана по време на активирането на командите. Те могат да посочат появата на някои грешки. Навременното коригиране на всички проблеми ще помогне да се избегнат допълнителни проблеми.
Разбира се, конфигурационният файл се редактира само по преценка на системния администратор. Въпреки това, ние искаме да покажем как да го стартираме в текстов редактор и кои елементи трябва да се подчертаят първо.
sudo yum install nano
. Когато инсталацията завърши, изпълнете конфигурационния файл чрез sudo nano /etc/ssh/sshd_config
. sudo service sshd restart
за да влязат в сила промените. service sshd status
. Редактирането на конфигурационния файл променя много параметри, но основният процес - добавяне и конфигуриране на ключове - се извършва с помощта на специални команди, за които искаме да говорим по-нататък.
Криптографският алгоритъм RSA (съкращение на имената Rivest, Shamir и Adleman) се използва от SSH услугата за създаване на двойка ключове. Това действие ви позволява максимално да защитите клиентските и сървърните части при осъществяване на връзки. Ще трябва да използвате и двете вериги, за да създадете чифт ключове.
ssh-keygen
в конзолата. При успешното изпълнение на горните указания ще се появят публичните и частните ключове, които в бъдеще ще се използват за удостоверяване със сървъра. Въпреки това, за да направите това, ключът трябва да се прехвърли на сървъра и да се забрани въвеждането на парола.
Както бе споменато по-горе, копирането на ключа е необходимо за по-нататъшно удостоверяване с парола. За да направите такова действие може да бъде един от трите начина, всеки от които ще бъде най-оптимален в определени ситуации. Нека да ги разгледаме по ред.
Помощ за Ssh-copy-id
Копирането на публичния ключ чрез помощната програма ssh-copy-id е най-лесният метод. Въпреки това, той е подходящ само ако този инструмент е наличен на компютъра. Трябва да регистрирате само една ssh-copy-id username@remote_host
, където username @ remote_host е потребителското име и хоста на отдалечения сървър.
Ако връзката е осъществена за първи път, на екрана ще видите съобщение с подобен характер:
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?
Това означава, че сървърът не е в списъка на доверените източници и ще бъде попитан дали си струва да се направи още връзка. Изберете опцията yes
.
Остава само да въведете паролата за сървърния акаунт и процедурата за копиране чрез гореспоменатата помощна програма ще бъде успешно завършена.
Копиране на публичен ключ през SSH
При липса на помощната програма ssh-copy-id препоръчваме да използвате стандартните функции на SSH инструмента, ако, разбира се, имате достъп до сървърния акаунт. Разтоварването на ключовете се извършва чрез редовна връзка, а именно:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
, където username @ remote_host е името на акаунта и хоста на отдалечения компютър. Обърнете внимание, че опцията >> ще добави ключа към края на файла и няма да го презапише напълно. Следователно ще бъдат запаметени и въведените по-рано клавиши. sudo service sshd restart
да обновите ключовите списъци. Ръчно копиране на публичния ключ
Понякога има ситуации, при които е невъзможно да се използва помощната програма ssh-copy-id и няма достъп до паролата. След това копирането се извършва ръчно.
cat ~/.ssh/id_rsa.pub
в конзолата. mkdir -p ~/.ssh
. Командата няма да направи нищо, ако директорията вече съществува. echo public_key_string >> ~/.ssh/authorized_keys
ще добави ключа към файла или първо ще създаде файла, ако той липсва. Вместо "public_key_string", трябва да вмъкнете предварително получения низ с ключа. Така успешно завършва процедурата за копиране на ключовете. Поради това удостоверяването на сървъра вече е достъпно чрез въвеждане на ssh username@remote_host
. Въпреки това, можете да се свържете чрез парола, което намалява сигурността на такава мрежа.
Деактивирането на възможността за влизане с парола, заобикаляйки ключа, прави такава отдалечена връзка по-малко сигурна. Затова се препоръчва да деактивирате тази функция, за да предотвратите неразрешено удостоверяване от нарушители.
sudo nano /etc/ssh/sshd_config
. no
. sudo systemctl restart sshd.service
. Тази статия, в която ви бяха запознати с основните конфигурационни точки на SSH протокола, приключва. Препоръчваме ви да прегледате съдържанието на изхода след активиране на командите, тъй като понякога има описания на грешки. Потърсете тяхното решение в официалната документация на инструмента или дистрибуцията CentOS.