質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

4467閲覧

Mojaveへアップデート後、SSHでトンネルしてDBヘ接続できない

redpanda

総合スコア123

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

1クリップ

投稿2018/12/13 10:51

概要

Mojave(Mac OS 10.14.2)へアップデート後、SSHでトンネルしてDBへ接続できなくなりました。
解決方法がわかる方がいましたら、ご教示お願いいたします。

構成

[ローカルPC] - [踏み台サーバ] - [DBサーバ]

DBはMySQL 5.6

公開鍵、秘密鍵のペアは下記のコマンドで作成(パスフレーズなし)

bash

1$ ssh-keygen -t rsa

確認できている事項

  • コマンドラインにて、sshにて踏み台サーバに接続できる。

  • 下記のSQLクライアントはDBヘ接続ができることを確認している。

 Sequel Pro

  • 下記のSQLクライアントは接続エラーとなる。(エラー内容も記載)

MySQL Workbench
エラー内容:Access denied. Authentication that can continue: publickey
DataGrip
エラー内容:Unable to load key
Navicat
エラー内容:Error: SSH: Failed to load identity file

  • GitHubに鍵を登録し、GitHabとの接続は問題なし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私も同様の事例で困っていましたが,SSHのキー形式による問題であることがわかりました.

端的に解決方法を記すと以下の方法でSSHのキーペアを生成することで私は解決することができました.

bash

1ssh-keygen -t rsa -b 4096 -m PEM

環境

  • macOS Mojave 10.14.3
  • MySQL Workbench 8.0.15

詳細

SSHのキー形式にはいくつかの方式があります.
参考: https://qiita.com/tsuyoshi_cho/items/b28e5529636f06e84b5e#ssh%E3%81%AE%E9%8D%B5%E5%BD%A2%E5%BC%8F
上記の記事で「OpenSSH private key(旧形式と新形式あり)」という記載がありますが,おそらくMySQL Workbenchではv8.0.15現在では新形式に対応をしていないようです.

macOS Mojaveで ssh-keygen を利用した際にはデフォルトで新形式のキーが生成されるようになっているようです.
そのため,明示的に旧形式(PEM形式)でキーを生成し,利用することでMySQL WorkbenchでSSHトンネル越しにMySQLを利用することができるようになります.

参考までに,Mojave以前のバージョンで新形式のキーを生成するためには -o オプションを利用すれば良いそうです.言い換えればMojaveではデフォルトで -o オプションが有効になっている状態でキーが生成されると考えられます.
https://euske.github.io/openssh-jman/ssh-keygen.html

-o
ssh-keygen が新しい OpenSSH 形式での秘密鍵を保存するさいに、互換性の高い PEM 形式ではなく、OpenSSH 独自の新形式を利用します。この新しい形式は、総当たりによるパスワード推測をやりにくくしますが、バージョン 6.5 以前の OpenSSH ではサポートされていません。Ed25519 鍵はつねにこの新しい形式で保存されます。

投稿2019/02/19 07:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

redpanda

2019/03/10 14:44

ご回答ありがとうございます! いただいた内容を試したところ、接続することができました。 大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問