2014年5月13日火曜日

sshで "Received disconnect from xxx.xxx.xxx.xxx: 2: Too many authentication failures for" でログインできひん

どうも、俺@仕事中です。

sshでログインしようとして

$ ssh username@xxx.xxx.xxx.xxx
Received disconnect from xxx.xxx.xxx.xxx: 2: Too many authentication failures for username
が出てログイン出来ないとき。

$ ssh username@xxx.xxx.xxx.xxx -o PreferredAuthentications=password
とやればとりあえずログイン出来る、と思います。
※パスワードログインする場合

このエラーは、サーバ側のsshd_configにある
MaxAuthTries 6
の回数を超えてしまったために出るエラーです。
なので、サーバ側でこの値を増やしてsshd再起動すれば解決しますが、
無闇に増やすのはセキュリティ上多少心配です。

sshの公開鍵認証を設定していると、
数種類のサーバ向けに秘密鍵を用意する事が多いと思いますが、
そういう場合、sshが順番に鍵を使って認証していき(もちろんパスワード認証も)
その結果MaxAuthTriesを超えてしまう、
という事があるようです。
なので不要な秘密鍵を消すために、

$ ssh-add -D
を行ってから接続するのも別の解決策です。

どういう認証手順を踏んでるか確認するには、
$ ssh username@xxx.xxx.xxx.xxx -vvv
と 打てば詳細なログを出力できます。



以上でぇぇぇぇぇす。

0 件のコメント: