Я хотел бы знать, как настроить учетные записи пользователей root, sudo, sftp, для которых не требуется аутентификация с открытым ключом при входе в систему. Я также хотел бы знать, как настроить домашнюю страницу пользователей sftp только каталоги, где они не могут получить доступ к другим каталогам верхнего уровня.
Лучший ресурс, который поможет вам начать настройку службы ssh на хост-компьютере с использованием Ubuntu, - OpenSSH Server . Это позволит вам использовать SSH File Transfer Protocol (также защищенный протокол передачи файлов или SFTP) для доступа, передачи и управления файлами по SSH с клиентского компьютера.
OpenSSH server
на хост-машине, а затем пользователь может использовать ssh
для подключения от клиента к серверу хоста, используя только имя пользователя и пароль , Однако обратите внимание, что рекомендуется аутентификация с открытым ключом, «Перед установкой SSH-сервера убедитесь, что у вас есть надежный пароль (вы можете захотеть ) полностью отключить пароли ) "
Чтобы установить сервер OpenSSH на хосте:
sudo apt-get install openssh-server
Дайте вашему хосту статический IP-адрес, чтобы вы могли надежно подключиться к it:
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
PermitRootLogin without-password
; добавьте PermitRootLogin no
к хосту /etc/ssh/sshd_config
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
~/.ssh/id_rsa.pub
от каждого клиента в качестве новой строки хоста ~/.ssh/authorized_keys
. Затем добавьте PasswordAuthentication no
к узлу /etc/ssh/sshd_config
sudo apt-get install ufw && sudo ufw limit OpenSSH
PasswordAuthentication
в своем файле sshd_config
Найдите строку с фразу PasswordAuthentication
и сделайте так:
PasswordAuthentication yes
Сохраните новый файл sshd_config
и перезапустите службу Host ssh
:
sudo service ssh restart
Обратите внимание, что служба порта 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
SSH
sshd_config
В 14.04:
Надлежащие разрешения доступа к файлам на узле гарантируют, что каждый стандартный пользователь (без прав 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-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand 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: Создайте каталог внутри дома для загрузки и измените разрешение для группы.
sudo mkdir /home/paul/www
sudo chown paul:ftpaccess /home/paul/www
Вот и все.
См .: Настройка SFTP в Ubuntu
Denyhosts - это еще один инструмент, помимо упомянутых в «jtd», на который вы можете захотеть взглянуть. Он может автоматически блокировать повторные попытки подключения к вашему SSH-серверу. Его можно установить в репозитории Ubuntu.
Ограничение доступа для пользователя
Здесь мы только позволим пользователю выполнять передачу файлов и отключим доступ к терминалу.
Для этого добавьте следующие коды внизу файла конфигурации.
$ sudo nano /etc/ssh/sshd_config
Теперь файл откроется и вставьте код.
/etc/ssh/sshd_config
. . .
Match User filemg
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Замените filemg
на ваше имя пользователя. Затем сохраните и закройте файл.
Вот и все.