Найкращий ресурс, який допоможе вам почати налаштовувати службу 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.23IP-адресу хоста:
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.23IP-адресу хоста:
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каталог, але має обмежені права доступу до решти структури каталогу.
- Обмежені дозволи не обов'язково означають, що вони не можуть переглядати назви файлів та структуру каталогів.
Сподіваюся, що це корисно!