Я хотел бы знать, как настроить учетные записи пользователей root, sudo, sftp, для которых не требуется аутентификация с открытым ключом при входе в систему. Я также хотел бы знать, как настроить домашние каталоги пользователей только для sftp, где они не могут получить доступ к другим каталогам верхнего уровня.
Лучший ресурс, который поможет вам начать настройку службы ssh на хост-компьютере с использованием Ubuntu, - это Сервер OpenSSH. Это позволит вам использовать Протокол передачи файлов SSH (также 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-defaultssudo chmod a-w /etc/ssh/sshd_config.factory-defaults"Как только вы создадите резервную копию своего sshd_config файл, вы можете внести изменения с помощью любого текстового редактора, например:"
sudo -H gedit /etc/ssh/sshd_configВы должны перезапустить свою службу ssh на хосте, чтобы эти изменения вступили в силу
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 (несложный брандмауэр) на хосте, чтобы ограничить скорость входящих подключений до 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.
- Как правило, вы можете указать свой веб-браузер на
192.168.1.1для того, чтобы войти в свой маршрутизатор и настроить переадресацию портов. Видеть Настроить сервер OpenSSH и маршрутизатор для приема SSH-соединения через Интернет?
Подключитесь к хосту и войдите в систему через командную строку или терминал
Чтобы открыть терминал оболочки 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 каталог, но имеют ограниченные права доступа к остальной структуре каталогов.
- Ограниченные разрешения не обязательно означают, что они не могут просматривать имена файлов и структуру каталогов.
Надеюсь, это будет полезно!
Шаг 1: Установите пакет OpenSSH, если он не установлен
sudo apt-get install openssh-serverШаг 2: Создайте отдельную группу для пользователей SFTP.
sudo addgroup ftpaccessШаг 3: Редактирование /etc/ssh/sshd_config файл и внесите изменения, как показано ниже.Найдите и прокомментируйте нижеприведенную строку.
#Subsystem sftp /usr/lib/openssh/sftp-serverи добавьте эти строки в конец файла.
Subsystem sftp internal-sftpMatch group ftpaccessChrootDirectory %hX11Forwarding noAllowTcpForwarding noForceCommand internal-sftpШаг 4: Перезапустите службу sshd.
sudo service ssh restartШаг 5: Добавьте пользователя в группу ftpaccess и создайте пароль.
sudo adduser paul --ingroup ftpaccess --shell /usr/sbin/nologinШаг 6: Измените разрешение на домашний каталог.
sudo chown root:root /home/paulШаг 7: Создайте каталог внутри home для загрузки и изменения разрешения с помощью group.
sudo mkdir /home/paul/wwwsudo chown paul:ftpaccess /home/paul/wwwЭто оно.
Ссылаться : Настройка SFTP на ubuntu
Denyhosts это еще один инструмент, помимо упомянутых в "jtd", на который вы, возможно, захотите взглянуть. Он может автоматически блокировать повторные попытки подключения к вашему SSH-серверу. Он доступен для установки в репозиториях Ubuntu.
Ограничить доступ к Пользователю
Здесь мы разрешим пользователю только выполнять передачу файлов и отключим доступ к терминалу.
Для этого добавьте следующие коды в нижней части файла конфигурации.
$ sudo nano /etc/ssh/sshd_configТеперь файл откроется и вставьте код.
/etc/ssh/sshd_config. . .Match User filemgForceCommand internal-sftpPasswordAuthentication yesChrootDirectory /var/sftpPermitTunnel noAllowAgentForwarding noAllowTcpForwarding noX11Forwarding noЗаменять filemg с вашим именем пользователя. Затем сохраните и закройте файл.
Это оно.