Лучший ресурс, который поможет вам начать настройку службы ssh на хост-компьютере с использованием Ubuntu, - это OpenSSH Server . Это позволит вам использовать SSH File Transfer Protocol (также Secure File Transfer Protocol или 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 на хосте.
sudo service ssh restart
Рассмотрим следующие меры безопасности
- Не включайте переадресацию портов на вашем маршрутизаторе: когда посторонний просит ваш маршрутизатор подключить постороннего к порту 22 и т. Д., Ваш маршрутизатор не будет соответствовать, если вы не включили переадресацию портов
- Отключить root-логин: закомментировать
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 (несложный межсетевой экран) на хосте, чтобы ограничить количество входящих соединений до 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.
Подключитесь к хосту и войдите через командную строку или терминал
Чтобы открыть терминал оболочки SFTP как <username>
на хосте, откройте терминал на клиенте и введите следующую команду, заменив 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>
на хосте, откройте терминал на клиенте и введите следующую команду, заменив 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
Подключитесь к хосту и войдите в систему через файловый менеджер с графическим интерфейсом (например, Nautilus) для более наглядного доступа к SFTP для передачи файлов
- Откройте Nautilus на клиенте
- Выберите «Файл»> «Подключиться к серверу».
- Тип:
SSH
- Сервер: введите IP-адрес хоста
- Порт: номер порта, указанный в
sshd_config
файле хоста
- Имя пользователя: имя пользователя
- Пароль: пароль
В 14.04:
- Откройте Nautilus на клиенте
- Подключиться к серверу
- Введите: `ssh @ 123.123.1.23:
Создание стандартных учетных записей пользователей на узле с ограниченными правами доступа к файлам за пределами их домашней папки
Надлежащие разрешения на доступ к файлам на хосте гарантируют, что каждый стандартный пользователь (без привилегий sudo), который вы создаете на хосте, будет владельцем своего /home/new_user
каталога, но у него будут ограниченные разрешения с остальной частью структуры каталога.
- Ограниченные разрешения не обязательно означают, что они не могут просматривать имена файлов и структуру каталогов.
Надеюсь, это полезно!