SSH-туннелирование между двумя серверами

SSH-туннелирование между двумя серверами

Я пытаюсь создать 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 [email protected] -f -N

Я получаю такой ответ:

This account is currently not available.

Я сделал несколько тестов. Если я попытаюсь подключиться от Slave к Master с

ssh '[email protected]' //before to execute: usermod -s /sbin/nologin tunneluser

это работает, так что мои ключи верны. Кажется, проблема в этом шаге:

usermod -s /usr/sbin/nologin tunneluser

В первый раз, когда я попробовал это, все работало нормально, но я не могу воспроизвести это снова. Я использую те же образы моих VPS, я следую тем же шагам, нет никакой разницы в среде, в каком облаке может быть проблема?

решение1

Вы пропустили строку в инструкции, которой следуете, которая гласит:

Пользователи Debian и Ubuntu заменяют /sbin/nologin на /usr/sbin/nologin

Таким образом, у вашей учетной записи tunneluser нет действительной оболочки, и вы не можете войти в нее.

решение2

Я нашел свою ошибку!

Проблема была в MS Word, я сохранил все команды в doc-файле и просто скопировал и вставил их. MS Word в некоторых случаях преобразует обычные -в более длинные . Так вот, это более длинное тире ломает мою последнюю команду:

ssh -L 33061:localhost:3306 [email protected] -f -N

О боже, я потерял из-за этого 8 часов!

Связанный контент