Көмек

SSH кілтін пайдаланып қосылу

Серверге қол жеткізу үшін SSH кілтін пайдалану қауіпсіздікті арттырады (есептік жазбаны бұзу қаупін азайту арқылы) және ыңғайлылық береді (әр қосылған сайын құпиясөз енгізудің қажеті жоқ).

Кілттер арқылы авторизацияны баптау процесі жергілікті компьютерде кілттерді жасауды және кейін оларды серверге көшіруді қамтиды.

Кілтті бұлттық серверге жаңа VPS құру немесе жүйені қайта орнату кезінде басқару панелі арқылы да тасымалдауға болады. Сонымен қатар кілттерді кейін серверлер құру кезінде пайдалану үшін басқару панелінде сақтауға болады.

Linux, MacOS, Windows 10

SSH кілттерін жасау

Бұл процесс Linux, MacOS ОЖ-лері мен Windows 10-ның 1809 нұсқасынан бастап жарамды, өйткені оларда кірістірілген SSH клиенті бар. Windows-тың бұрынғы нұсқалары үшін Windows-тың ескі нұсқаларына (OpenSSH-сыз) арналған нұсқаулықты пайдаланыңыз.

Компьютеріңізде терминалды немесе Windows PowerShell-ді іске қосып, мына команданы орындаңыз:

ssh-keygen

Сіз келесі хабарламаны көресіз:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):

Жай ғана Enter басыңыз — кілт әдепкі бойынша көрсетілген каталогта сақталады.

Содан кейін кілт үшін құпиясөз (кодтық фраза) орнату ұсынылады. Оны орнатуыңызға немесе Enter басып, бос қалдыруыңызға болады. Назар аударыңыз: кодтық фразаны пайдаланған жағдайда оны кілт арқылы әр авторизация кезінде енгізу қажет болады.

Кілттерді жасау процедурасы аяқталды, кілттер ~/.ssh/ каталогында id_rsa және id_rsa.pub атауларымен сақталды. Енді ашық кілтті серверге көшіру қажет.

Кілтті серверге көшіру

Терминалда user мәнін сервердегі пайдаланушы атымен, ал server мәнін серверіңіздің IP мекенжайымен ауыстырып, келесі команданы орындаңыз:

ssh-copy-id user@server>
# Мысал: ssh-copy-id [email protected]

id_rsa.pub ашық кілт файлының мазмұны сервердегі ~/.ssh/authorized_keys файлына көшіріледі. Бұдан әрі серверге мына командамен қосыла аласыз:

ssh user@server>
# Мысал: ssh [email protected]

Windows-тың ескі нұсқалары (OpenSSH-сыз)

Егер сізде OpenSSH жоқ ескірек Windows нұсқасы болса, сізге PuTTYgen бағдарламасы қажет болады. Оны PuTTY ресми сайтынан жүктеп алуға болады.

PuTTYgen арқылы SSH кілттерін жасау

  1. Бағдарламаны іске қосып, "Type of key to generate" бөлімінде RSA кілт түрін таңдаңыз да, "Generate" түймесін басыңыз.
  2. Кездейсоқ деректерді генерациялау үшін терезеде тінтуірді ретсіз қозғалтыңыз.
  3. Кілт генерацияланғаннан кейін "Key passphrase" (кілтке арналған құпиясөз) орнатуға болады. Бұл міндетті емес, өрісті бос қалдыруға болады. Егер құпиясөз көрсетсеңіз, ол кілт арқылы әр авторизация кезінде сұралады.
  4. Жасалған кілттерді "Save public key" және "Save private key" түймелерін басып, мысалы, id_rsa.pub және mykey.ppk атауларымен сақтаңыз.
  5. Сондай-ақ "Public key for pasting…" терезесінің мазмұнын көшіріп, мәтіндік файлға сақтаңыз. Бұл кілтті серверге көшіру кезінде қажет болады.

Осымен кілттерді жасау процедурасы аяқталды.

Pageant арқылы кілтті серверге көшіру

Кілттерді көшіру үшін сізге Pageant қажет болады. Оны PuTTY ресми сайтынан жүктеп алуға болады.

  1. Серверге SSH арқылы қосылып, серверде кілттерді сақтауға арналған каталог пен файл жасау үшін келесі команданы орындаңыз:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
  1. ~/.ssh/authorized_keys файлын мәтіндік редактормен ашыңыз:
nano ~/.ssh/authorized_keys
  1. Файлға бұрын PuTTYgen-нен көшірген ашық кілтіңіздің мазмұнын қойып, файлды сақтаңыз.
  2. Pageant бағдарламасын іске қосыңыз — оның белгішесі трейде пайда болады. Тінтуірдің оң жақ батырмасымен басып, "Add Key" тармағын таңдаңыз.
  3. Ашылған терезеде бұрын сақтаған mykey.ppk жабық кілтіңізге апаратын жолды көрсетіп, "Open" түймесін басыңыз. Егер кілтті жасау кезінде құпиясөз көрсеткен болсаңыз, Pageant оны осы кезеңде сұрайды.
  4. Кілт арқылы авторизацияның жұмысын тексеру үшін PuTTY-ді қайта іске қосып, серверге қосылыңыз да, логиніңізді енгізіңіз. Егер барлығы дұрыс бапталса, консоль терезесінде мынадай хабарламаны көресіз:
Authenticating with public key "rsa-key-20151220" from agent

Құпиясөз арқылы кіруді өшіру

Серверге тек кілт арқылы кіруге рұқсат беру үшін құпиясөз арқылы авторизацияны өшіру қажет. Ол үшін /etc/ssh/sshd_config файлына өзгерістер енгізіңіз.

  1. Файлды келесі командамен ашыңыз:
sudo nano /etc/ssh/sshd_config
  1. PasswordAuthentication жолын тауып, оны былай өзгертіңіз: PasswordAuthentication no.
  2. Өзгерістерді сақтап, SSH қызметін қайта іске қосыңыз:
sudo service ssh restart

Егер осы әрекеттерден кейін де құпиясөз сұралса, /etc/ssh/sshd_config.d/ каталогында PasswordAuthentication yes директивасы бар 50-cloud-init.conf файлының бар-жоғын тексеріңіз. Егер файл бар болса, оны жойып, SSH қызметін қайта іске қосыңыз.

Сұрақтарыңыз бар болса, жазыңыз