Некоторые пользователи могут использовать ssh правильно, другие - нет. У меня есть админ, который в руле. Я использовал vsftpd для разрешения FTP. Я создал пользователя nologin для FTP. Назовите этого пользователя «ftpuser». Теперь я хочу разрешить sftp. Это позволяет мне подключаться с помощью администратора. Я удаляю логин, давая пользователю оболочку через usermod -s /bin/bash ftpuser
. Он по-прежнему не позволяет мне подключаться с ftpuser через sftp. Содержание /home/ftpuser/.ssh
это просто known_hosts
файл, который содержит только запись "localhost".
Разрешения пользователей (теоретически) в порядке:
ls -la /home
working (admin) : drwx------ 18 admin admin 4096 Feb 6 15:33 admin
non-working(ftpuser): drwx------ 3 ftpuser ftp 4096 Mar 26 15:25 ftpuser
Я не настраивал на openssh ничего особенного. Нужно ли что-нибудь ftpuser? дополнительный чем шелл вводить по ssh?
/var/log/auth.log предоставит вам более подробную информацию.
Есть несколько вещей, которые могут ошибаться. Я бы начал с проверки разрешений в каталоге /home/ftpuser/.ssh. OpenSSH может отказать вам в входе в систему, если разрешения для этого каталога неверны (поскольку злоумышленники могут поместить туда открытые ключи, если вы разрешите доступ для записи)
Попробуйте подключиться только по ssh вместо sftp, чтобы узнать, не проблема ли это в самом sftp.
Также проверьте файл конфигурации SSHd, чтобы узнать, есть ли ограничения на то, кому разрешено входить в систему. Это может быть ограничено пользователями в колесе.