2つのサーバー間のSSHトンネリング

2つのサーバー間のSSHトンネリング

セキュアな 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 時間も無駄にしてしまった!

関連情報