Посібник для початківців з SSH

pic

Фото: https://atulhost.com/how-to-connect-to-an-ssh-server

Коли я почав свою стажування, я не був впевнений у тих викликах, які чекають мене на шляху. Як стажер з програмної інженерії, я кожен день стикався з новими речами, про які навіть не знав раніше.

Однією з тем, яка з'явилася, був SSH. У цій статті я поділюсь тим, чому я навчився.

Що таке SSH?

“SSH або Secure Shell — це протокол віддаленого адміністрування, який дозволяє користувачам керувати та змінювати свої віддалені сервери через Інтернет. Цей сервіс був створений як безпечна заміна незашифрованому Telnet і використовує криптографічні техніки для забезпечення того, щоб всі комунікації з віддаленим сервером були зашифрованими.

Він надає механізм для аутентифікації віддаленого користувача, передачі введених даних від клієнта до хоста і перенаправлення результату назад до клієнта.” — Джерело: https://www.hostinger.com/tutorials/ssh-tutorial-how-does-ssh-work

Як підключитися до сервера через SSH

ssh user@server

Як згенерувати SSH-ключ

Windows

  1. Перевірте наявність існуючих SSH-ключів.

Відкрийте командний рядок і виконайте наступну команду:

cd %userprofile%/.ssh
  • Якщо ви не бачите такої папки, значить SSH-ключі відсутні. Ви можете створити SSH-ключ.
  • Якщо папка є, перевірте наявність ключа, використовуючи таку команду:
dir id_*

Якщо є ключ, ви можете його використовувати!

  1. Резервне копіювання старих SSH-ключів.

Це потрібно зробити, якщо ви не хочете використовувати свої старі SSH-ключі.

mkdir key_backup  
copy id_rsa* key_backup

Це переміщає ваші старі SSH-ключі в папку з назвою key_backup.

  1. Генерація нового SSH-ключа.

Ви можете створити SSH-ключ, пов'язаний з вашою електронною поштою для зручності подальшої ідентифікації.

Для цього вам потрібно встановити Git BASH на вашому ПК з Windows.

Запустіть цю команду в командному рядку від імені адміністратора.

ssh-keygen -t rsa -C "[email protected]"

Натисніть ENTER, щоб прийняти за умовчанням місце та ім’я файлу. Якщо папка .ssh не створена, система створить її для вас.

Далі вас попросять ввести пароль і повторити його, ви можете пропустити це, натиснувши ENTER двічі. Це створить ваш SSH-ключ.

У папці .ssh ви знайдете два файли: id_rsa та id_rsa.pub. Ви можете використовувати id_rsa.pub, який є вашим публічним ключем для SSH. Не розголошуйте ваш приватний ключ!

Ubuntu або macOS

  1. Перевірте наявність існуючих SSH-ключів.

Відкрийте командний рядок і виконайте наступну команду:

cd ~/.ssh
  • Якщо ви не бачите такої папки, значить SSH-ключі відсутні. Ви можете створити SSH-ключ.
  • Якщо папка є, перевірте наявність ключа, використовуючи таку команду:
ls id_*

Якщо є ключ, ви можете його використовувати!

  1. Резервне копіювання старих SSH-ключів.

Це потрібно зробити, якщо ви не хочете використовувати свої старі SSH-ключі.

mkdir key_backup  
cp id_rsa* key_backup

Це переміщає ваші старі SSH-ключі в папку з назвою key_backup.

  1. Генерація нового SSH-ключа.

Ви можете створити SSH-ключ, пов'язаний з вашою електронною поштою для зручності подальшої ідентифікації.

Запустіть цю команду в командному рядку від імені адміністратора.

ssh-keygen -t rsa -C "[email protected]"

Натисніть ENTER, щоб прийняти за умовчанням місце та ім’я файлу. Якщо папка .ssh не створена, система створить її для вас.

Далі вас попросять ввести пароль і повторити його, ви можете пропустити це, натиснувши ENTER двічі. Це створить ваш SSH-ключ.

У папці .ssh ви знайдете два файли: id_rsa та id_rsa.pub. Ви можете використовувати id_rsa.pub, який є вашим публічним ключем для SSH. Не розголошуйте ваш приватний ключ!

Я описав, як можна створити ваш SSH-ключ для відповідної операційної системи, на якій ви працюєте.
Що робити, якщо у вас є SSH-ключі, які ви використовуєте для багатьох серверів? Як дізнатися, який ключ використовується для автентифікації на кожному сервері?

Коли я зіткнувся з цією проблемою, я зрозумів, що ми можемо підтримувати конфігураційний файл для полегшення цього процесу.

Вам потрібно створити конфігураційний файл у вашій папці .ssh. Ви можете використовувати будь-який текстовий редактор для цього. Я віддаю перевагу використанню vim.

vim config

Тепер файл створено і відкрито для редагування. Ви можете визначити ваш сервер, наприклад, ось так:

Host devloot  
 User user  
 HostName blaaa.compute.amazonaws.com  
 IdentityFile ~/.ssh/hoot.pub

Host devgroot  
 User user  
 HostName blaaakaaa.compute.amazonaws.com  
 IdentityFile ~/.ssh/dev.pub

Після збереження ви зможете підключитися до будь-якого сервера наступним чином:

ssh devloot

Це набагато простіше, ніж використовувати таке:

ssh [email protected] -i ~/.ssh/hoot.pub

Ось і все, що я хочу поділитись про те, що я навчився про SSH. Сподіваюся, ця стаття була для вас корисною!

Якщо ви хочете дізнатися більше про SSH, ви можете ознайомитись із наступними джерелами.

Посилання

[

Що таке Secure Shell (SSH) і як він працює?

Дізнайтеся про SSH, також відомий як Secure Shell. Досліджуйте, як SSH-з'єднання може бути використано для захисту передачі…

searchsecurity.techtarget.com

](https://searchsecurity.techtarget.com/definition/Secure-Shell?source=post_page-----9d525eb83f15---------------------------------------)

[

SSH Tutorial for Beginners - Як працює SSH

SSH або Secure Shell — це протокол віддаленого адміністрування, який дозволяє користувачам контролювати і змінювати свої віддалені сервери…

www.hostinger.com

](https://www.hostinger.com/tutorials/ssh-tutorial-how-does-ssh-work?source=post_page-----9d525eb83f15---------------------------------------)

Перекладено з: The Beginner’s Guide to SSH