今までWindowsから公開鍵認証でRaspberry PiにSSH接続していましたが、Macからでも接続できるようにしました。
ずいぶん前にMacからRaspberry Piに接続しようとして、下記のエラーが出て接続できませんでした。
Too many authentication failures for username
今回再チャレンジしてようやくMacからでも接続できるようになったのでその方法を載せます。
OpenSSH形式にして接続する
とりあえず公開鍵認証を使ってWindowsから既にSSH接続できている状態から始めます。
公開鍵認証を使ってWindowsからRaspberry PiにSSH接続する
Raspberry Piのセキュリティー設定 for Webサーバー用 パート2
これをMacからでもRaspberry PiにSSH接続できるようにします。
まず最初に秘密鍵をOpenSSH形式で保存します。
Windowsから
puttygen.exeを起動します。
id_rsa.ppkを読み込みます。
パスフレーズを入力。
秘密鍵をOpenSSH形式で保存する。
Conversions→Export OpenSSH key
保存する名前
pi_open
pi_openをMacに移動します。
/Users/username/.ssh/pi_open
configを変更する
sudo vim /Users/username/.ssh/config Host pi Hostname 192.168.0.121 User username Port 61209 IdentityFile /Users/username/.ssh/pi_open
まずはこの状態でMacからRaspberry Piに接続してみます。
ssh pi The authenticity of host '[192.168.0.121]:61209 ([192.168.0.121]:61209)' can't be established. RSA key fingerprint is hoge hoge hoge hoge hoge. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[192.168.0.121]:61209' (RSA) to the list of known hosts. Received disconnect from 192.168.0.121: 2: Too many authentication failures for username
接続に失敗してしまいます。
パスワードを削除したり、Raspberry Piの電源をオフにしてみたり、いろんなパターンで接続してみても、
Too many authentication failures for username
というエラーメッセージが出てきて接続できません。
接続の詳細がわかるコマンド
ssh -v pi
何やらいろいろ接続の詳細が出てきましたがよくわかりませんでした・・・。
ここで挫折してMacからの接続はいったん放置。
Too many authentication failuresの原因判明!
しばらくして再開してついに原因が判明しました!
まず最初にconfigにIdentitiesOnlyを追記します。
sudo vim /Users/username/.ssh/config Host pi Hostname 192.168.0.121 User username Port 61209 IdentityFile /Users/kyosuke/.ssh/pi_open IdentitiesOnly yes
これでいったんMacからRaspberry Piにつないでみます。
ssh pi @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/Users/username/.ssh/pi_open' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: /Users/username/.ssh/pi_open Permission denied (publickey).
いままでToo many authenticationしか出てこなかったのが、
ちゃんとしたメッセージが出てきました。
つまり、パーミッションを与えすぎているのが原因でつなげられない!
pi_openのパーミッションを600にします。
sudo chmod 600 /Users/username/.ssh/pi_open
MacからRaspberry Piに公開鍵認証でつなぐ!
ssh pi Identity added: /Users/username/.ssh/pi_open (/Users/username/.ssh/pi_open) The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Sep 27 16:13:00 2014 from 192.168.0.10
ようやく公開鍵認証を使ってMacからでもRaspberry PiにSSH接続することができました。
コメントを残す