Я пытаюсь создать туннель SSH между двумя VPS для безопасной репликации MySQL. Я выполняю следующие шаги (только читайте Шаг 1: Настройка SSH-туннелирования): https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-replication-using-ssh-on-a-vps Оба сервера работают с ОС Ubuntu 14.04. Проблема возникает, когда я пытаюсь создать туннель на своей подчиненной машине, когда я запускаю:
ssh -L 33061:localhost:3306 tunneluser@1.1.1.1 -f -N
Я получаю такой ответ:
This account is currently not available.
Я сделал несколько тестов. Если я попытаюсь подключиться от ведомого к ведущему с помощью
ssh 'tunneluser@1.1.1.1' //before to execute: usermod -s /sbin/nologin tunneluser
он работает, поэтому мои ключи верны. Кажется, проблема в этом шаге:
usermod -s /usr/sbin/nologin tunneluser
В первый раз, когда я попробовал это, он работал нормально, но я не могу воспроизвести его снова. Я использую те же образы своих VPS, я выполняю те же шаги, нет разницы в среде, в каком облаке проблема?
Я нашел свою ошибку!
Проблема была в MS Word, я сохранил все команды в файле doc и просто скопировал и вставил их. MS Word конвертирует обычные -
дольше –
в некоторых случаях. Итак, это длинное тире нарушает мою последнюю команду:
ssh -L 33061:localhost:3306 tunneluser@1.1.1.1 -f -N
Боже, я потерял 8 часов из-за этого!
Вы пропустили строку в инструкции, которой следуете:
Пользователи Debian и Ubuntu заменяют / sbin / nologin на / usr / sbin / nologin
Таким образом, ваша учетная запись туннельного пользователя не имеет допустимой оболочки, и вы не можете войти в нее.