Ошибка "Эта учетная запись в настоящее время недоступна" при попытке подключения по ssh

При попытке установить SSH-соединение возникает ошибка:

$ ssh -p 22 www-data@x.x.x.x This account is currently not available

Хотя я согласен с другими в том, что разрешить вход через SSH через пользователя www-data, как правило, плохая идея, после того, как вы вошли в систему с обычным пользователем, может быть полезно выполнить несколько команд одновременно с набором разрешений пользователя www-data. В этом случае можно запустить

sudo su -l www-data -s /bin/bash

и вы сможете получить доступ к своим файлам как пользователь www-data.

Ты получаешь This account is currently not available. ошибка, поскольку оболочка для пользователя www-data устанавливается на /usr/sbin/nologin, и это сделано по очень веской причине. Вы не должны входить в систему как www-data, это специальный пользователь / группа, используемая веб-сервером, не предназначенная для обычного использования оболочки.

РЕДАКТИРОВАТЬ: Это особенно плохая идея давать sudo права на www-data. Если бы Apache предназначался для запуска с правами root, у него не было бы собственной группы. Делая это, вы создаете огромные дыры в безопасности. Вы были предупреждены.

Первый вопрос, который я должен был бы задать, заключается в том, чего вы пытаетесь достичь, делая это?

kraxor на 100% прав, вы никогда не сможете подключиться к своему серверу по ssh, используя своего пользователя Apache / Nginx. Это приглашает каждого хакера с половиной мозговой клетки на ваш сервер.

Если вам нужно запустить скрипт или какую-либо программу от имени этого пользователя, вы можете попробовать sudo -u www-data yourscript или вы могли бы временно chown в файле пользователю с правами входа в систему. Это просто очень плохая идея - предоставлять этой учетной записи такой доступ.