Я пытаюсь настроить SFTP, чтобы мои пользователи могли получить доступ к собственной папке сайта (с помощью PSFTP / FileZilla). Я использую файлы Vagrant, 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 с Putty с пользователем "vagrant" на 127.0.0.1, putty закрывается. Я даже не могу ввести пароль.
Когда я пытаюсь использовать SFTP, используя PSFTP, выполнив «open 10.0.0.100»: я вхожу в систему как «jeroensteen@10.0.0.100» с моим пропуском, но получаю: «Доступ запрещен».
Как я могу настроить SFTP для моих пользователей? Что не так, что Putty закрывается, а у меня нет доступа?
Ты должен бежать 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 и установите на это оболочку пользователя.