Настройка на SSH на CentOS 7
SSH (secure shell) - протокол за създаване на криптирана връзка между клиент и сървър. Благодарение на тази технология можете да управлявате отдалечено компютъра. В терминала се осъществява взаимодействие с помощната програма и по подразбиране се добавя към операционната система CentOS 7. t Затова днес бихме искали да разгледаме подробно стандартната процедура за конфигуриране, която ще бъде полезна на всеки, който ще работи с SSH.

Конфигурирайте SSH в CentOS 7

Процесът на конфигуриране е индивидуален за всеки системен администратор, но все още има няколко елемента, които са полезни за всички потребители. В тази статия ще говорим не само за сървърния компонент, но и за клиентския компонент, както и за това кое устройство изпълнява конкретно действие.

Инсталиране на компоненти и стартиране на сървъра

Вече казахме, че SSH по подразбиране е добавен към списъка на CentOS 7 системните библиотеки, но понякога по някаква причина липсват необходимите компоненти на компютъра. В този случай те ще трябва да добавят, а след това да активират сървъра.

  1. Отворете Терминал и напишете командата sudo yum -y install openssh-server openssh-clients там.
  2. Инсталиране на SSH сървър и клиент в CentOS 7 чрез терминал

  3. Идентифицирайте акаунта на суперпотребителя, като въведете парола. Обърнете внимание, че въведените по този начин знаци не се показват в низ.
  4. Въвеждане на парола за инсталиране на SSH компоненти в CentOS 7 през терминала

  5. Изпълнете проверка на конфигурацията със sudo chkconfig sshd on .
  6. Първата команда за активиране на услугата SSH в CentOS 7

  7. След това стартирайте самата услуга SSH, като service sshd start .
  8. Втората команда за активиране на услугата SSH в CentOS 7

  9. Остава само да провери дали портът по подразбиране е отворен. За да направите това, използвайте линията netstat -tulpn | grep :22 netstat -tulpn | grep :22 .
  10. Проверете дали SSH протокола работи на CentOS 7

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

Редактиране на конфигурационния файл

Разбира се, конфигурационният файл се редактира само по преценка на системния администратор. Въпреки това, ние искаме да покажем как да го стартираме в текстов редактор и кои елементи трябва да се подчертаят първо.

  1. Препоръчваме ви да използвате нано редактора, който може да бъде инсталиран чрез командата sudo yum install nano . Когато инсталацията завърши, изпълнете конфигурационния файл чрез sudo nano /etc/ssh/sshd_config .
  2. Придвижете се до конфигурационния файл на SSH в CentOS 7

  3. Ще сте запознати с всички налични опции. Някои от тях са коментирани, т.е. има знак # пред параметъра. Съответно, премахване на този символ, вие разкоментирате параметъра и той ще бъде валиден. Можете да промените стандартния порт, като промените стойността на низа "Port" на всеки друг. В допълнение се препоръчва да се инсталира втория протокол, като се използва "Protocol 2" . Тогава нивото на сигурност ще се увеличи.
  4. Редактиране на конфигурационния файл на SSH в CentOS 7

  5. Тези и други параметри се променят само от предпочитанията на администратора. Подробна информация за всяка от тях може да се намери в официалната документация на SSH. Когато редактирането приключи, запишете промените, като натиснете клавиша Ctrl + O.
  6. Презаписване на конфигурационния файл на SSH в CentOS 7

  7. Използвайте Ctrl + X, за да излезете от редактора.
  8. Излезте от редактирането на конфигурационния файл на SSH в CentOS 7

  9. Рестартирайте услугата чрез sudo service sshd restart за да влязат в сила промените.
  10. Рестартиране на SSH услуги в CentOS 7

  11. След това можете да проверите статуса на SSH, за да се уверите, че работи, чрез service sshd status .
  12. Проверка на здравния статус на SSH сървър в CentOS 7

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

Създаване на двойка ключове на RSA

Криптографският алгоритъм RSA (съкращение на имената Rivest, Shamir и Adleman) се използва от SSH услугата за създаване на двойка ключове. Това действие ви позволява максимално да защитите клиентските и сървърните части при осъществяване на връзки. Ще трябва да използвате и двете вериги, за да създадете чифт ключове.

  1. Първо отидете на клиентския компютър и въведете ssh-keygen в конзолата.
  2. Създаване на двойка ключове за клиент в SSH помощната програма на CentOS 7

  3. След активирането ще се появи нов ред, в който ще бъдете помолени да посочите пътя за запазване на ключа. Ако искате да напуснете местоположението по подразбиране, не въвеждайте нищо, а просто натиснете клавиша Enter .
  4. Изберете файл, за да намерите SSH клиентски ключ от ключове в CentOS 7

  5. След това се създава фраза за парола. Тя ще осигури сигурност от неоторизиран достъп до системата. След като създадете парола, ще трябва да я повторите.
  6. Въвеждане на парола за двойка помощни ключове за SSH в CentOS 7

  7. Това завършва процедурата за генериране. На екрана ще видите самия ключ и произволното изображение, което е зададено на него.
  8. Успешно създаване на двойка ключове за SSH програма в CentOS 7

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

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

Както бе споменато по-горе, копирането на ключа е необходимо за по-нататъшно удостоверяване с парола. За да направите такова действие може да бъде един от трите начина, всеки от които ще бъде най-оптимален в определени ситуации. Нека да ги разгледаме по ред.

Помощ за Ssh-copy-id

Копирането на публичния ключ чрез помощната програма ssh-copy-id е най-лесният метод. Въпреки това, той е подходящ само ако този инструмент е наличен на компютъра. Трябва да регистрирате само една ssh-copy-id username@remote_host , където username @ remote_host е потребителското име и хоста на отдалечения сървър.

Копиране на ключове с помощта на специална SSH програма в CentOS 7

Ако връзката е осъществена за първи път, на екрана ще видите съобщение с подобен характер:

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 компютър в CentOS 7

Остава само да въведете паролата за сървърния акаунт и процедурата за копиране чрез гореспоменатата помощна програма ще бъде успешно завършена.

Въвеждане на парола за дистанционно влизане в SSH компютъра в CentOS 7

Копиране на публичен ключ през SSH

При липса на помощната програма ssh-copy-id препоръчваме да използвате стандартните функции на SSH инструмента, ако, разбира се, имате достъп до сървърния акаунт. Разтоварването на ключовете се извършва чрез редовна връзка, а именно:

  1. Командата cat ви позволява да четете и незабавно да добавяте ключа към файл на сървърния компютър. За да направите това, просто напишете 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 е името на акаунта и хоста на отдалечения компютър. Обърнете внимание, че опцията >> ще добави ключа към края на файла и няма да го презапише напълно. Следователно ще бъдат запаметени и въведените по-рано клавиши.
  2. Автоматично копиране на ключа чрез SSH връзка в CentOS 7

  3. За да се свържете въведете пропуск.
  4. Изберете мястото, където да съхраните копираните SSH ключове в CentOS 7

  5. Не забравяйте да рестартирате сървъра чрез sudo service sshd restart да обновите ключовите списъци.

Ръчно копиране на публичния ключ

Понякога има ситуации, при които е невъзможно да се използва помощната програма ssh-copy-id и няма достъп до паролата. След това копирането се извършва ръчно.

  1. Първо разберете този ключ чрез познатата команда cat, като напишете cat ~/.ssh/id_rsa.pub в конзолата.
  2. Разберете съдържанието на файла с ключовете в SSH терминала в CentOS 7

  3. Копирайте съдържанието му в отделен файл.
  4. Вижте създадения SSH публичен ключ в CentOS 7

  5. Свържете се с отдалечен компютър, използвайки всеки удобен метод и създайте директорията mkdir -p ~/.ssh . Командата няма да направи нищо, ако директорията вече съществува.
  6. Създайте папка за съхраняване на SSH публичния ключ в CentOS 7

  7. Остава само да въведете данните в файла "authorized_keys" . Командата echo public_key_string >> ~/.ssh/authorized_keys ще добави ключа към файла или първо ще създаде файла, ако той липсва. Вместо "public_key_string", трябва да вмъкнете предварително получения низ с ключа.
  8. Копирайте публичния ключ към отдалечения SSH компютър в CentOS 7

Така успешно завършва процедурата за копиране на ключовете. Поради това удостоверяването на сървъра вече е достъпно чрез въвеждане на ssh username@remote_host . Въпреки това, можете да се свържете чрез парола, което намалява сигурността на такава мрежа.

Деактивиране на удостоверяването с парола

Деактивирането на възможността за влизане с парола, заобикаляйки ключа, прави такава отдалечена връзка по-малко сигурна. Затова се препоръчва да деактивирате тази функция, за да предотвратите неразрешено удостоверяване от нарушители.

  1. На отдалечения сървър стартирайте SSH конфигурационния файл чрез sudo nano /etc/ssh/sshd_config .
  2. Отворете конфигурационния файл за редактиране на SSH в CentOS 7

  3. Намерете параметъра PasswordAuthentication и променете стойността на no .
  4. Деактивирайте въвеждането на парола за SSH в CentOS 7

  5. Запазете промените и завършете работата в текстов редактор.
  6. Запазете промените в конфигурационния файл на SSH в CentOS 7

  7. Новият параметър ще влезе в сила само след рестартиране на sudo systemctl restart sshd.service .
  8. Рестартирайте услугата след промяна на конфигурацията на SSH в CentOS 7

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