Я пытаюсь сконфигурировать SFTP, так, чтобы мои пользователи могли получить доступ к своей папке собственного сайта (с PSFTP/FileZilla). Я использую Бродягу, CentOS7, NGINX и .sh файл.
Это - мой bootstrap.sh для создания одного из моих пользователей.
#Make Group for SFTP
sudo groupadd sftpusers
#Make Website folder and SFTP Users
JS_WWW="/usr/share/nginx/html/jeroensteen"
sudo useradd -g sftpusers -d $JS_WWW -s /sbin/nologin -p jeroensteen jeroensteen
sudo chown jeroensteen:sftpusers $JS_WWW
sudo chown nginx:nginx $JS_WWW
#Configure SFTP
sudo sed -i "s@/usr/libexec/openssh/sftp-server@internal-sftp@" /etc/ssh/sshd_config
sudo echo "Match Group sftpusers" > /etc/ssh/sshd_config
sudo echo " ChrootDirectory /usr/share/nginx/html/%u" > /etc/ssh/sshd_config
sudo echo " ForceCommand internal-sftp" > /etc/ssh/sshd_config
sudo systemctl restart sshd
Когда я попытаюсь сделать нормальный SSH со Шпаклевкой с пользователем "бродяга" на 127.0.0.1, шпаклюйте завершения. Я не могу даже ввести пароль.
Когда я пробую к SFTP с PSFTP путем выполнения "открытых 10.0.0.100": Я вхожу в систему как "jeroensteen@10.0.0.100" с моей передачей, но я добираюсь: "Доступ запрещен".
Как я могу сконфигурировать SFTP для своих пользователей? Что идет не так, как надо, который закрывает Шпаклевка, и у меня нет доступа?
Вы должны запустить sudo tail -f / var / log / secure
и снова попробовать sftp, наблюдая за этим. Это покажет вам ошибки сервера sshd, которые не разрешают доступ к sftp.
Посмотрев на шаги, которые вы выполнили, после того, как вы установили владение $ JS_WWW на jeroensteen: sftpusers, вы измените его на nginx: nginx . Возможно, вы хотели установить пользователя jeroensteen, а группу - nginx? Есть ли у пользователя jeroensteen доступ к каталогу $ JS_WWW? Вы никогда не показываете, какие есть разрешения. Если разрешения не доступны для чтения и выполнения для всего мира, возможно, произойдет сбой входа в систему из-за проблем с разрешениями в $ JS_WWW. Вы можете использовать sudo su -s / bin / sh jeroensteen
, чтобы переключиться на этого пользователя и посмотреть, к чему у него есть доступ.
Лично, когда я пытаюсь выполнить то, что вы делаете, я ухожу только sshd_config и вместо этого установите rssh из EPEL и установите на это оболочку пользователя.