公開鍵認証を使ってWindowsとMacからRaspberry PiにSSH接続する

今まで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接続することができました。

コメントを残す

メールアドレスが公開されることはありません。