Фото: 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
- Перевірте наявність існуючих SSH-ключів.
Відкрийте командний рядок і виконайте наступну команду:
cd %userprofile%/.ssh
- Якщо ви не бачите такої папки, значить SSH-ключі відсутні. Ви можете створити SSH-ключ.
- Якщо папка є, перевірте наявність ключа, використовуючи таку команду:
dir id_*
Якщо є ключ, ви можете його використовувати!
- Резервне копіювання старих SSH-ключів.
Це потрібно зробити, якщо ви не хочете використовувати свої старі SSH-ключі.
mkdir key_backup
copy id_rsa* key_backup
Це переміщає ваші старі SSH-ключі в папку з назвою key_backup
.
- Генерація нового 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
- Перевірте наявність існуючих SSH-ключів.
Відкрийте командний рядок і виконайте наступну команду:
cd ~/.ssh
- Якщо ви не бачите такої папки, значить SSH-ключі відсутні. Ви можете створити SSH-ключ.
- Якщо папка є, перевірте наявність ключа, використовуючи таку команду:
ls id_*
Якщо є ключ, ви можете його використовувати!
- Резервне копіювання старих SSH-ключів.
Це потрібно зробити, якщо ви не хочете використовувати свої старі SSH-ключі.
mkdir key_backup
cp id_rsa* key_backup
Це переміщає ваші старі SSH-ключі в папку з назвою key_backup
.
- Генерація нового 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