Увод
Овај водич објашњава како да креирате ССХ кључеве, додате јавни кључ на ваш ЦентОС 8 сервер и конфигуришете sshdпријаву без лозинке.
Корак 1 - Креирање пара кључева ССХ
Прво морате да креирате пар ССХ кључева на рачунару, ако их већ немате.
У свом терминалу на локалном рачунару покрените:
ssh-keygen
Након што покренете ову команду, требало би да видите следећи упит:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Притисните ENTERда бисте сачували овај пар ССХ кључева у ./sshподдиректоријуму вашег кућног директоријума или наведите алтернативну путању ако желите.
Након овога требало би да видите следећи излаз:
Output
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
your_fingerprint_key username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
| E o= . |
| o. o |
| .. |
| ..S |
| o o. |
| =o.+. |
|. =++.. |
|o=++. |
+-----------------+
У горњем примеру your_homeје кућни директоријум вашег рачунара
Направили сте пар јавних и приватних кључева. Јавни кључ ћемо копирати на сервер. Да бисте видели свој јавни кључ:
cat ~/.ssh/id_rsa.pub
Видећете веома дугачак низ који почиње са ссх-рса .
Корак 2: Додавање ССХ кључа на ЦентОС сервер
ССХ на ваш сервер и креирајте .sshдиректоријум, ако већ не постоји:
mkdir -p ~/.ssh
Додајте јавни кључ из корака 1 у ~/.ssh/authorized_keys. Замените public_key_stringсадржајем id_rsa.pubиз корака 1:
echo public_key_string >> ~/.ssh/authorized_keys
Одјавите се са сервера, а затим се поново пријавите:
ssh root@your_server_ip
Ако се овако повезујете са својим сервером по први пут, видећете следећу поруку:
Output
The authenticity of host 'your_server_ip' can't be established.
ECDSA key fingerprint is your_finderprint_id.
Are you sure you want to continue connecting (yes/no)?
Ако видите ову поруку, одговорите yesи притисните Од ENTER
вас ће такође бити затражено да унесете роот лозинку вашег сервера. Појаснићемо како да то онемогућимо у следећем кораку.
Корак 3: Онемогућавање потврде идентитета лозинком
Ваша аутентификација заснована на ССХ кључу је конфигурисана, али је аутентификација лозинком и даље активна. Да бисте ово променили, потребно је да направите неке измене у датотеци sshd_configкоја се налази у /etc/sshдиректоријуму. Можете отворити ту датотеку овом командом:
sudo vi /etc/ssh/sshd_config
У датотеци треба да пронађете и промените неколико редова на које треба да буде подешено Пермит Роот Логин yes
...
PermitRootLogin yes
...
Потврда лозинке треба да буде подешена на no
...
PasswordAuthentication no
...
Провера аутентичности одговора на изазов треба да буде подешена на no
...
ChallengeResponseAuthentication no
...
Коришћење методе провере аутентичности лозинке (ПАМ) треба да буде подешено на yes
...
UsePAM yes
...
Када завршите са изменама, притисните ESCа затим :WQ. Да би ова промена ступила на снагу, поново покрените sshdуслугу:
sudo systemctl restart sshd.service
Пре него што затворите свој терминал на ком сте повезани са сервером, отворите нови прозор терминала и покрените ову команду
ssh root@your_server_ip
Сада би требало да будете повезани са својим сервером без лозинке и само са својим ССХ кључем. То значи да је ваша аутентификација заснована на ССХ-у успешно конфигурисана и да је аутентификација лозинком онемогућена.