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 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, я выполняю те же шаги, в окружающей среде нет разницы, какое облако будет проблемой?

2 ответа

Решение

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

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

ssh -L 33061:localhost:3306 tunneluser@1.1.1.1 -f -N

OMG, я потерял 8 часов об этом!

Вы пропустили строку в инструкциях, которые вы читаете:

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

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

Другие вопросы по тегам