Найкращий ресурс, який допоможе вам почати налаштовувати службу ssh на хост-машині за допомогою Ubuntu - OpenSSH Server . Це дозволить вам використовувати протокол передачі файлів SSH (також захищений протокол передачі файлів або SFTP) для доступу, передачі та управління файлами через SSH з клієнтської машини.
Огляд рішення
- У Ubuntu ви можете налаштувати
OpenSSH server
на хост-машині, а потім користувач ssh
зможе підключитися від клієнта до сервера хоста, використовуючи лише ім’я користувача та пароль. Однак зауважте, що автентифікація відкритих ключів рекомендується,
"Переконайтеся, що у вас надійний пароль перед встановленням SSH-сервера (можливо, ви хочете взагалі відключити паролі )"
- Облікові записи адміністративних користувачів, створені на хості, матимуть привілеї sudo, а типові облікові записи користувачів, створені на хості, не будуть.
Встановіть та налаштуйте ваш сервер OpenSSH на хості
Щоб встановити сервер OpenSSH на хості:
sudo apt-get install openssh-server
Дайте своєму хосту статичну IP-адресу, щоб ви могли надійно підключитися до нього:
nm-connection-editor
Щоб налаштувати ваш сервер OpenSSH , "спочатку зробіть резервну копію файлу sshd_config, скопіювавши його у свій домашній каталог або зробивши копію для читання лише в / etc / ssh, виконавши:"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"Після резервної копії sshd_config
файлу ви можете внести зміни в будь-який текстовий редактор, наприклад:"
sudo -H gedit /etc/ssh/sshd_config
Ви повинні перезапустити службу ssh на Host, щоб ці зміни набули чинності
sudo service ssh restart
Розглянемо наступні заходи безпеки
- Не вмикайте переадресацію портів на маршрутизаторі: коли сторонній користувач просить ваш маршрутизатор підключити сторонніх осіб до порту 22 тощо, ваш маршрутизатор не виконує вимоги, якщо ви не включили переадресацію портів
- Вимкнути логін із коренем: коментувати
PermitRootLogin without-password
; додати PermitRootLogin no
до хост/etc/ssh/sshd_config
- Виберіть нестандартний порт SSH: коментуйте
Port 22
; додати Port <new-port-number>
до хост/etc/ssh/sshd_config
- Дозволити лише локальні з'єднання: Додати
ListenAddress 192.168.0.10
- Дозволити певним користувачам у певних портах: Додати
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
або AllowUsers <username>@111.222.333.*
в хост/etc/ssh/sshd_config
- Дозволити з'єднання лише з ключем RSA (без пароля): додайте вміст
~/.ssh/id_rsa.pub
кожного клієнта як новий рядок хоста ~/.ssh/authorized_keys
. Потім додайте PasswordAuthentication no
до хостів/etc/ssh/sshd_config
- Повільні спроби злому зловмисників: Використовуйте ufw (непростий брандмауер) на Host, щоб обмежити вхідні з'єднання до 10 / хвилину:
sudo apt-get install ufw && sudo ufw limit OpenSSH
- Щоб отримати додаткові ідеї, див. Захист доступу до SSH
Якщо ви вважаєте, що потрібно, увімкніть PasswordAuthentication
у своєму sshd_config
файлі
Знайдіть рядок із фразою PasswordAuthentication
і змусьте його читати:
PasswordAuthentication yes
Збережіть новий sshd_config
файл і перезапустіть ssh
службу хоста :
sudo service ssh restart
Якщо вам потрібен доступ з будь-якого місця через Інтернет, налаштуйте переадресацію порту на локальному маршрутизаторі, щоб направити трафік на ваш сервер OpenSSH
Зверніть увагу, що ssh
послуга хоста прослуховується у sshd_config
файлі та налаштує ваш маршрутизатор для пересилання TCP / UDP-трафіку, спрямованого на цей порт, на IP-адресу вашого OpenSSH-сервера.
Підключіться до Host та увійдіть через командний рядок або термінал
Щоб відкрити термінал оболонки SFTP як <username>
на Host, відкрийте термінал на клієнті та введіть таку команду, замінивши 123.123.1.23
IP-адресу хоста:
sftp <username>@123.123.1.23
Якщо ви змінили номер порту, який слухає сервер OpenSSH хоста, зробіть:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Щоб відкрити термінал оболонки SSH як <username>
на Host, відкрийте термінал на клієнті та введіть таку команду, замінивши 123.123.1.23
IP-адресу хоста:
ssh <username>@123.123.1.23
Якщо ви змінили номер порту, який слухає сервер OpenSSH хоста, зробіть:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Підключіться до хоста та увійдіть за допомогою файлового менеджера GUI (наприклад, Nautilus) для більш візуального доступу до SFTP, щоб увімкнути передачу файлів
- Відкрийте Nautilus на клієнті
- Виберіть Файл> Підключитися до сервера
- Тип:
SSH
- Сервер: Введіть IP-адресу хоста
- Port: номер порту, вказаний у
sshd_config
файлі хоста
- Ім'я користувача: ім'я користувача
- Пароль: пароль
У 14.04:
- Відкрийте Nautilus на клієнті
- Підключення до сервера
- Тип: `ssh @ 123.123.1.23:
Створіть стандартні облікові записи користувачів на хості з обмеженими дозволами на файли поза їх домашньою папкою
Належні дозволи на файли, розміщені на Host, гарантують, що кожен стандартний користувач (без привілеїв sudo), який ви створюєте на Host, матиме свій /home/new_user
каталог, але має обмежені права доступу до решти структури каталогу.
- Обмежені дозволи не обов'язково означають, що вони не можуть переглядати назви файлів та структуру каталогів.
Сподіваюся, що це корисно!