Вперше в Linux? Не знаєте, що таке SSH або що ви можете з ним зробити? У цій статті ми збираємося пояснити, як можна налаштувати та використовувати SSH в Linux. Ми розглянемо, як це працює, і деякі корисні речі, які ви можете зробити з ним. Давайте розпочнемо!
SSH є одним з найбільш використовуваних інструментів на платформі Linux. Незважаючи на це, це не програма, яка встановлюється в більшості поширених дистрибутивів Linux (крім Fedora і OpenSUSE). Налаштувати SSH легко. Якщо ви просто хочете підключитися до віддаленого ПК Linux за допомогою SSH, найпростіше просто встановити інструмент підключення клієнта. Цей інструмент є лише самим SSH, і не має нічого для запуску сервера підключення.
Проте, було б гарною ідеєю налаштувати сервер SSH на кожному ПК з Linux. Таким чином завжди може бути двосторонній зв’язок, і будь-який комп’ютер може надіслати з’єднання та отримати його. Ось як запустити його.
Встановіть інструменти SSH
Ubuntu
sudo apt install openssh-server
Arch Linux
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd
Debian
sudo apt-get install openssh-server
Fedora/OpenSUSE
Хоча SSH може бути вже встановлений, сервер може бути не ввімкнено. Щоб увімкнути його, відкрийте термінал і введіть:
sudo systemctl enable sshd sudo systemctl start sshd
Інший
Інші дистрибутиви Linux, не згадані тут, можуть мати інструменти SSH, необхідні для того, щоб усе працювало. Якщо ні, краще звернутися до офіційного посібника для версії Linux, яку ви використовуєте. Крім того, знайдіть у місці, де ви зазвичай встановлюєте програми, і знайдіть: openssh-server, ssh, sshd тощо.
Далі відкрийте файл конфігурації для SSH і змініть один або два параметра. Основним з них є порт за замовчуванням. Дивіться, з коробки SSH використовує порт 22. Це дуже відомий порт. В результаті хакери та інші погані актори, швидше за все, підуть на цей порт і спробують отримати до нього доступ. Подумайте про зміну порту на щось випадкове. Насправді не має значення, який порт, просто переконайтеся, що він не використовується іншими програмами.
Відредагуйте файл конфігурації за допомогою: sudo nano /etc/ssh/ssh_config
Прокрутіть униз і знайдіть у файлі # порт 22. Видаліть «#» і змініть номер з «22» на потрібний порт. Натисніть Ctrl + O, щоб зберегти зміни. Потім перезапустіть SSH за допомогою наступних команд.
Ubuntu/Debian:
service ssh restart
Arch/OpenSUSE/Fedora:
sudo systemctl sshd restart
Примітка: якщо ви не плануєте пересилати порт SSH в Інтернет, змінювати порт SSH не потрібно. Якщо він залишиться в локальній мережі, це нормально.
Підключіться за допомогою SSH до свого сервера за допомогою: ssh -p номер порту [email protected]
Передача файлів командного рядка
SSH корисний, коли вам потрібно віддалено отримати доступ до іншого комп’ютера. Це може бути комп’ютер, до якого ви маєте доступ через Інтернет, або комп’ютер, який сидить в одній кімнаті. Іноді під час віддаленого доступу до ПК з Linux може знадобитися доступ до файлів. Можливо, це файли конфігурації або важливі документи. Надсилання файлів на віддалену машину, коли у вас є доступ лише до терміналу Linux, може бути справді виснажливим.
Ось чому SSH має вбудовану функціональність для легкої передачі файлів вперед і назад безпосередньо через SSH.
scp /path/to/files-or-folders [email protected]:/шлях/до/пункту призначення
Замініть /шлях/до/ тощо, щоб відобразити ваші власні потреби. Наприклад, ваш може виглядати трохи так;
scp /home/derrik/importantfile.txt [email protected]:/home/derrik-server/files/
Захищений FTP-сервер будь-де
FTP – це стара технологія, але це не означає, що вона більше не корисна. Насправді, FTP все ще часто використовується, коли справа доходить до SSH. Чому? Це робить дуже простим доступ до всього віддаленого жорсткого диска Linux ПК прямо в файловому менеджері, локально. Немає необхідності налаштовувати SSH, щоб почати використовувати SFTP. Будь-який ПК Linux із запущеним SSH-сервером також має SFTP. Щоб отримати до нього доступ, відкрийте свій файловий менеджер, знайдіть «сервер», «мережа» або щось подібне. Майте на увазі, що кожен файловий менеджер Linux відрізняється, тому неможливо врахувати їх усіх.
sftp://[email protected]:portnumber
Коли ви введете адресу FTP, вам буде запропоновано ввести пароль, а також прийняти ключ від сервера SSH.
Примітка: вам потрібно буде переадресувати порт, який ви використовуєте для SSH, щоб отримати доступ до SFTP за межами вашої мережі. Зверніться до посібника з вашого маршрутизатора, щоб дізнатися, як переадресувати порти.
Віддалене резервне копіювання
SSH має багато застосувань, включаючи віддалене резервне копіювання дисків і розділів. Щоб створити резервну копію жорсткого диска з локального ПК та надіслати зображення по мережі через SSH, скористайтеся цим:
Примітка: у цьому прикладі використовується жорсткий диск /dev/sda. Вам потрібно буде змінити команду відповідно до ваших потреб.
Резервне копіювання розділу
dd if=/dev/sda1 | gzip -1 - | ssh [email protected] dd of=image.img.gz
Весь драйв
dd if=/dev/sda | gzip -1 - | ssh [email protected] dd of=image.img.gz
Також можна отримати образ жорсткого диска (або розділи) віддаленого диска:
Резервне копіювання розділу
ssh [email protected] "dd if=/dev/sda1 | gzip -1 -" | dd of=image.img.gz
Весь драйв
Edit the config file with:ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=image.img.gz
Витягніть зображення за допомогою: gzip -d image.img.gz
Перегляд віддалених програм локально
Іноді терміналу недостатньо під час віддаленого доступу до комп’ютера. На щастя, за допомогою SSH можна виконати пересилання вікон X. Це означає, що ви можете використовувати GUI-сервер x11 для пересилання віддалених вікон на вашу локальну машину. Наприклад, якщо вам потрібно протестувати веб-сайт на віддаленому ПК з Linux, ви зможете запустити Firefox віддалено та переслати вікно Firefox x11 на свій ПК з Linux локально.
Увімкніть пересилання вікна X11, відредагувавши файл конфігурації ssh: sudo nano /etc/ssh/ssh_config
Знайдіть # ForwardX11 ні, видаліть «#» та змініть «ні» на «так».
Перезапустіть службу SSH.
Ubuntu/Debian:
service ssh restart
Arch/OpenSUSE/Fedora:
sudo systemctl sshd restart
При підключенні через SSH використовуйте перемикач -X.
ssh -X -p portnumber [email protected]
Висновок
SSH є корисним інструментом, але не багато початківців користувачів Linux це знають. Шкода, адже для цього є багато застосувань. У цій статті ми тільки що подряпали поверхню. Коли справа доходить до використання безпечної оболонки, єдиним обмеженням є ваші власні навички.