セキュアな MySQL レプリケーションのために、2 つの VPS 間に SSH トンネルを作成しようとしています。次の手順に従います (読み取り専用: ステップ 1: SSH トンネリングのセットアップ): https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-replication-using-ssh-on-a-vps 両方のサーバーは Ubuntu 14.04 OS を使用しています。問題は、次のコマンドを実行してスレーブ マシンにトンネルを作成しようとすると発生します。
ssh -L 33061:localhost:3306 [email protected] -f -N
次のような返答が返ってきました:
This account is currently not available.
いくつかテストしてみました。スレーブからマスターに接続しようとすると
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 時間も無駄にしてしまった!