-
Issue
MySQL Workbench から、SSH接続しようとすると”Access denied for 'none'. Authentication that can continue: publickey”と言われる。。。
-
原因
SSHのKeyをmacで作成したために、Keyの形式が問題らしい。
(参考)Thanks a lot!!
WorkBenchでDBサーバーにSSH接続できないって? - Solution
Windowsが、手元になかったので、macでのやり方をメモ - putty をインストール
- puttygem で、.ppk ファイルを作成
- puttygem で、オプションprivate-openssh を指定して作成
- そのKeyをセットアップすると接続!This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
# putty をインストールする -> % brew install putty Updating Homebrew... # この中の −0の private-openssh で最終的にKeyを作る -> % puttygen -h PuTTYgen: key generator and converter for the PuTTY tools Release 0.73 Usage: puttygen ( keyfile | -t type [ -b bits ] ) [ -C comment ] [ -P ] [ -q ] [ -o output-keyfile ] [ -O type | -l | -L | -p ] -t specify key type when generating (ed25519, ecdsa, rsa, dsa, rsa1) -b specify number of bits when generating key -C change or specify key comment -P change key passphrase -q quiet: do not display progress bar -O specify output type: private output PuTTY private key format private-openssh export OpenSSH private key <- これを使う!!! private-openssh-new export OpenSSH private key (force new format) private-sshcom export ssh.com private key public RFC 4716 / ssh.com public key public-openssh OpenSSH public key fingerprint output the key fingerprint -o specify output file -l equivalent to `-O fingerprint' -L equivalent to `-O public-openssh' -p equivalent to `-O public' --old-passphrase file specify file containing old key passphrase --new-passphrase file specify file containing new key passphrase --random-device device specify device to read entropy from (e.g. /dev/urandom) # まず、Putty形式のKeyを作成する 拡張子.ppk で保存 -> % puttygen id_rsa -O private -o id_rsa.ppk Enter passphrase to load key: # で、そのファイルを -O private-openssh で、再度OpenSSHの古い形式で保存 -> % puttygen id_rsa.ppk -O private-openssh -o id_rsa_mysqlWB Enter passphrase to load key: # これで、 private key file "id_rsa_mysqlWB" が、完成 - 編集後記
MacでMySQL Workbenchを使う人は、少ないのかな?調べるのに時間かかってしまった。
Oracle Application Express Notes | Apps development Notes | Google Cloud Platform | Python | apps test | Cool Beans | English | Books
2020/06/07
MySQL Workbench から、SSH接続しようとすると”Access denied for 'none'. Authentication that can continue: publickey”エラーになる
GCP: ローカルからGCLOUDコマンドを叩くと pyenv: python2: command not found エラー
-
Issue
gcloud コマンドをローカルから使おうとしたら、pyenv: python2: command not found エラーとなる
-
環境など
Mac mojave 10.14.6
pyenv 1.2.8-182 ※homebrew でインストールしていない。(これが原因かも) -
原因
文字通りなのですが、gcloudの中で、"python2" コマンドが呼び出されるけど、python2 コマンドが見つからないと言われている。This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters# エラーの内容 -> % gcloud compute instances -h pyenv: python2: command not found The `python2' command exists in these Python versions: 2.7.15 2.7.15/envs/iotdemo 2.7.15/envs/py27 iotdemo py27 Note: See 'pyenv help global' for tips on allowing both python2 and python3 to be found. Usage: gcloud compute instances [optional flags] <group | command> group may be network-interfaces | os-inventory # the rest is omitted # python2 コマンドを叩いてみる -> % python2 pyenv: python2: command not found The `python2' command exists in these Python versions: 2.7.15 2.7.15/envs/iotdemo 2.7.15/envs/py27 iotdemo py27 Note: See 'pyenv help global' for tips on allowing both python2 and python3 to be found. ### エラーと言われる # pyenv のセッティングを確認 # global は、何もしてないでMacの素のまま -> % pyenv version system (set by /Users/toshi/.pyenv/version) -> % pyenv global system -> % pyenv versions * system (set by /Users/toshi/.pyenv/version) 2.7.15 2.7.15/envs/iotdemo 3.4.3 3.4.3/envs/atc343 atc343 iotdemo
-
Solution
.zprofile に、export CLOUDSDK_PYTHON=/usr/bin/python を追記
これを追記することで、呼び出すPython環境を明示できて、python2 を呼ばなくなる。
(しらんけど。。。)This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters# python コマンドは、2.7.16 -> % python Python 2.7.16 (default, Jan 27 2020, 04:46:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit() # それは、以下のPATHのことなので -> % /usr/bin/python Python 2.7.16 (default, Jan 27 2020, 04:46:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit() # .zprofile に、Pathを明示する -> % echo 'export CLOUDSDK_PYTHON=/usr/bin/python' >>.zprofile # ログインし直すと!! エラーは消えた -> % gcloud compute instances -h Usage: gcloud compute instances [optional flags] <group | command> group may be network-interfaces | os-inventory command may be add-access-config | add-iam-policy-binding | -
編集後記
これは、元々、エラーがでるけど普通に動く。多分、python2 コマンド使って、だめならpython コマンドって順番に呼び出しているのかと想像。
前のMACだと出なかったんだけど。。。
ラベル:
GCE,
gcloud,
GCP,
Google Cloud Platform
2020/06/06
GCP: Google Compute Engine にVSCODD 越しに接続する
- Goal
- VSCODEから、GCEインスタンス(開発環境)に接続開発する
- そのとき、一応SSHのポートも変更する
- How
- gcloud SDK のインストール(詳細はカツアイ)
- GCE インスタンスを作成し、静的IPを割り当てる (詳細はカツアイ)
- ローカル端末で、Keyを作成する
ssh-keygen -t rsa -b 4096 -C "testUser" - GCEの設定画面で、Keyを貼り付け
- PORT:22での接続テスト
gcloudコマンド (静的IPの割当が不要。インスタンス名で接続できる)
gcloud compute ssh testUser@instance-1 --ssh-key-file ./test_rsa - GCEのOS上でのsshdのポート変更
5で接続した状態で、GCEの内部のsshd_configファイルの設定を変更する
sudo vi /etc/ssh/sshd_config
以下に、接続したいポート番号を追加
#Port 22
Port 22011
#AddressFamily any
そのあとに、サービスのRESTARTとSTATUSを確認
sudo systemctl restart sshd
sudo systemctl status sshd
確認して問題なければ、一旦GCEから抜ける - GCPのネットワークの設定でPORTの変更
以下のケースでは、22から22011へ変更 - ローカルから、SSHでアクセステスト
ssh testUser@34.67.184.203 -p 22011 -i ~/.ssh/test_rsa - config の設定を加えるとVSCODEのからアクセスできる
- 編集後記
GCEインスタンスの開発なら、VSCODE+RemoteDevelopmentで開発して、Cloud Source Repositories へPushし、Cloud BuildでSTG環境と本番へデプロイが良いのでしょうか?
でも、GAEなら、Cloud Shell で開発して、Cloud Source Repositories+Cloud Buildもできて、それならどこでも開発できるとも思ったりします。
開発経験の少ない素人なので、良い方法が単純に知りたい・・・
登録:
投稿 (Atom)