さくらVPSを起動して1週間放置してたらsshで「Too many authentication failures for username」がでて入れなくなった


さくらVPSにSSHしたら入れなくなってしまいました。

ちなみに前回のブログはコチラ
さくらVPS2GBプランに申し込んでみました。SSHでつなぐところまで

前回のブログの頃にはSSHでログインできたのですが、いまSSHをすると以下のようなメッセージが表示されてしまいます。

Too many authentication failures for username

検索してみると

sshで接続時の「Too many authentication failures for username」エラーの対処法

原因は接続先サーバのsshd_configで設定されてるsshの最大試行可能回数を越えたって事。

http://d.hatena.ne.jp/kou_i/20101121/1290352589

え?

ボクそんなにssh失敗してないんですけど。。つまり外部からsshでアクセスされまくったってことじゃないですかー><

という話をニコ生で話していたら、port番号変えた方がいいとか色々言われたのでやることにしました。

まずはログイン

先ほどのサイトによるとToo many authentication failures for usernameというエラーがでていてもオプションを付ければログインできるみたいです。

ssh username@IPAddress -o PreferredAuthentications=password

ログイン用のユーザーをつくる

root以外でログインするのに使う適当なユーザをつくります。

useradd testuser

パスワードを設定しました。

passwd testuser

公開鍵を登録する

パスワード認証をやめて鍵認証でログインすることにします。

まずはホームディレクトリに移動します。

cd /home/testuser

鍵を置くディレクトリをつくります

mkdir .ssh

公開鍵の中身をつくります。

vi .ssh/authorized_keys

ボクはローカル環境に公開鍵と秘密鍵があったのでそのままつかいました。鍵の作り方はCentOSをサーバーとして活用するための基本的な設定にあるssh-keygenを参考にするといいかもしれません。

以上で公開鍵の準備は整いました。

sshdの設定をパスワード認証から公開鍵認証に書き換える

sshdの設定を直したいのでrootユーザーになってみました.

vi /etc/ssh/sshd_config

rootユーザーへのパスワードログインをそもそも禁止にしておきたいのです.

PermitRootLogin without-password
PasswordAuthentication no
Port 10022

また、Portの番号を22から例えば10022とか22以外に変更します。

rootログインをそもそも禁止にしたらどう、とコメントいただいたので禁止にする場合は以下のようにするみたいです。

PermitRootLogin no

ssh-configを書き換えたのでsshdを再起動します。

/etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

ローカルからsshで接続を試す

ローカルからsshします。こんな感じでどうでしょう。

ssh -i 鍵のパス -p ポート番号 ユーザー名@IPアドレス

どうやら.ssh/configに設定を書くとオプションを減らして簡単に接続できるみたいなので書いておくといいのではないかと思います。

この辺を参考に、OpenSSH-5.9p1 日本語マニュアルページ (2011/09/10)

感想

最初はToo many authentication failures for usernameみたいな警告がでて焦ってしまいましたが、なんとかsshで接続するところまでたどり着きました。

さくらVPSは放置すると危ないんですね。気をつけないと..

参考:さくらのVPS月980円を借りちゃったよ。破産しちゃうかも

入門SSH (MY UNIX SERIES)
入門SSH (MY UNIX SERIES) 春山 征吾

アスキー 2004-11
売り上げランキング : 342031

Amazonで詳しく見る by G-Tools


“さくらVPSを起動して1週間放置してたらsshで「Too many authentication failures for username」がでて入れなくなった” への4件の返信

  1. PermitRootLogin without-passwordにしてるから、rootでのログインは出来る状態に有るよ。
    PermitRootLogin noにして完全にrootでログインできなくするか、
    testuserのホームディレクトリじゃなくrootディレクトリに.ssh/authorized_keysを作って、
    ssh root@hoge_server.comとかでログインした方がいい気がする。

    ガチガチにセキュリティ固めるなら、PermitRootLogin noにさらにsuの実行権限を
    testuserに限定してやるという方法もあるお。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です