SSHトンネルを介してパスワードなしでリモートでmysqlに接続する方法

SSHトンネルを介してパスワードなしでリモートでmysqlに接続する方法

サーバーでは、rootがmysqlを使用するためにパスワードを必要としないように設定しました(資格情報は〜/​​ .mylogin.cnfにあります)。これで、SSHトンネルを介してリモートでmysqlに接続したいので、パスワードを入力する必要はありません。

# open the tunnel (I'm using local port 3305 because 3306 is already taken for some reason)
ssh server -L 3305:127.0.0.1:3306 -N

# now try to connect
mysql -h 127.0.0.1 -P 3305 -u root

しかし、これはうまくいきません。エラーは次のとおりです。エラー1045(28000):ユーザー「root」@「localhost」へのアクセスが拒否されました(パスワードの使用:NO)。

私は何が間違っていましたか?

答え1

mysqlの資格情報を設定しました。リモートサーバーそして、あなたはmysqlクライアントを実行しています地元の

~/.mylogin.cnf でポート 3305 を使用して localhost の mysql インスタンスを設定します。

答え2

コマンドの最後に-pを追加してパスワードプロンプトを表示することもできます。

答え3

rootでSSH接続を開くことはできますか?一部のLinuxディストリビューションでは、デフォルトでルートSSHアクセスを制限しています。/etc/ssh/sshd_configファイルの行の確認

PermitRootLogin yes
PasswordAuthentication yes

関連情報