ConoHa VPSでSSH接続を試したとき、「接続できない」「Connection refusedが出る」「Connection timed outで止まる」「Permission deniedが出る」といったトラブルで手が止まってしまったことはないでしょうか。
SSH接続は、VPSを使い始めるときに最初につまずきやすいポイントです。
ただし、表示されるエラーによって原因はある程度切り分けできます。
この記事では、SSH接続できないときによくある「Connection refused」「Connection timed out」「Permission denied」の違いと、それぞれの対処法を初心者向けに解説します。
なお、ConoHa VPSの基本的な使い方については以下の記事でまとめています。
ConoHa VPSの料金やプランは変更されることもあるため、最新情報は公式サイトで確認しておくと安心です。
SSH接続エラーは3種類に分けられます
SSH接続ができない場合、まずは表示されているエラー内容を確認します。
よくあるエラーは、以下の3つです。
| エラー内容 | 状態 | 主な原因 |
|---|---|---|
| Connection refused | 接続拒否 | ポート・SSHサービスの問題 |
| Connection timed out | 通信不可 | ネットワーク・ファイアウォールの問題 |
| Permission denied | 認証失敗 | ユーザー名・鍵の問題 |
この3つは似ているように見えますが、原因はかなり違います。
そのため、まずは「どの段階で失敗しているのか」を整理することが重要です。
Connection refusedが出る原因
「Connection refused」と表示される場合、サーバには到達していますが、接続先のポートでSSHサービスが受け付けられていない状態です。
イメージとしては、サーバの場所までは行けているものの、入口で拒否されている状態です。
主な原因は以下の通りです。
- SSHサービスが起動していない
- ポート番号が間違っている
- セキュリティグループでポート22が閉じている
- SSHの待ち受けポートを変更している
特にVPSでは、セキュリティグループやファイアウォールでポート22が閉じているケースがあります。
まずはConoHa VPSの管理画面で、SSH用のポートが開放されているか確認してください。
Connection refusedの対処法
Connection refusedが出る場合は、以下を順番に確認します。
- 接続先のIPアドレスが正しいか
- SSHのポート番号が正しいか
- セキュリティグループでポート22が開いているか
- サーバ側でsshdが起動しているか
標準ポートで接続する場合は、以下のように接続します。
ssh user@サーバのIPアドレス
もしSSHのポート番号を変更している場合は、以下のようにポートを指定します。
ssh -p ポート番号 user@サーバのIPアドレス
ポート番号を変更した覚えがない場合は、まずは22番ポートが開いているか確認するのが基本です。
Connection timed outが出る原因
「Connection timed out」と表示される場合は、サーバまで通信が届いていない可能性があります。
Connection refusedは「入口で拒否された」状態ですが、Connection timed outは「そもそも返事がない」状態です。
主な原因は以下の通りです。
- IPアドレスが間違っている
- サーバが停止している
- ファイアウォールで通信が遮断されている
- ネットワーク経路に問題がある
- セキュリティグループで通信が許可されていない
この場合、SSHのユーザー名や鍵以前に、通信経路の確認が必要です。
Connection timed outの対処法
Connection timed outが出る場合は、まずサーバに通信が届いているかを確認します。
- ConoHa VPSの管理画面でサーバが起動しているか確認する
- IPアドレスが正しいか確認する
- セキュリティグループでSSH通信が許可されているか確認する
- ローカル環境のネットワーク制限を確認する
可能であれば、pingで疎通確認を行います。
ping サーバのIPアドレス
ただし、サーバやネットワーク設定によってはpingに応答しない場合もあるため、pingが通らないからといって必ずしもサーバが停止しているとは限りません。
ConoHa VPSの管理画面からサーバの状態を確認し、必要であればコンソールからログインして状況を確認します。
Permission deniedが出る原因
「Permission denied」と表示される場合、サーバには接続できていますが、ログイン認証に失敗しています。
つまり、ネットワークやポートではなく、ユーザー名や鍵の問題である可能性が高いです。
よくある原因は以下の通りです。
- ユーザー名が違う
- 秘密鍵が違う
- 公開鍵ではなく秘密鍵を指定していない
- 鍵のパーミッションが不適切
- サーバ側が鍵認証のみになっている
特に「Permission denied (publickey)」と表示される場合は、鍵認証に失敗しています。
Permission deniedの対処法
Permission deniedが出る場合は、まずユーザー名と鍵を確認します。
秘密鍵を指定して接続する場合は、以下のようにします。
ssh -i 秘密鍵のパス user@サーバのIPアドレス
秘密鍵のパーミッションが緩すぎる場合は、以下のように変更します。
chmod 600 秘密鍵のパス
また、ConoHa VPSでは初期ユーザーや接続方法が環境によって異なる場合があります。
rootで接続するのか、作成した一般ユーザーで接続するのかを確認しておきましょう。
ConoHa VPSの初期設定については、以下の記事で詳しく解説しています。
既存のSSH鍵が原因で接続できないケース
SSH接続がうまくいかない原因として、既に別のサーバ用の鍵が存在しているケースがあります。
例えば、~/.ssh ディレクトリに id_rsa などの鍵がある場合、SSHは自動的にその鍵を使って接続を試みることがあります。
このとき、接続先サーバに登録されている鍵と一致しない場合、「Permission denied (publickey)」となります。
実際に私も、Windows環境で別サーバに接続していた際の鍵がそのまま使われてしまい、「Permission denied」が解消できずにしばらく詰まってしまいました。
このような場合は、使用する鍵を明示的に指定することで解決できます。
ssh -i 秘密鍵のパス user@サーバのIPアドレス
※-iオプションを指定しない場合、SSHはデフォルトで ~/.ssh/id_rsa などの鍵を自動的に使用します。
SSH接続できないときのチェックリスト
SSH接続できない場合は、以下を順番に確認してみてください。
- サーバが起動しているか
- IPアドレスが正しいか
- セキュリティグループでポート22が開いているか
- SSHのポート番号が正しいか
- ユーザー名が正しいか
- 秘密鍵を指定しているか
- 秘密鍵のパーミッションが適切か
- SSHサービスが起動しているか
この順番で確認すると、ネットワーク・ポート・認証のどこで詰まっているかを切り分けやすくなります。
それでも接続できない場合
どうしてもSSH接続ができない場合は、ConoHa VPSのコンソールからログインして設定を確認する方法もあります。
SSHだけにこだわらず、一度コンソールから状況を確認することで原因が見つかることもあります。
SSH接続はできるものの、しばらく放置すると切れてしまう場合は、回線やKeepAlive設定が原因の可能性があります。
SSH設定やセキュリティの見直しについては、以下の記事でまとめています。
SSH接続後に進めること
SSH接続ができるようになったら、次は初期設定やWordPress構築に進みます。
VPSでの環境構築に不安がある場合は、以下の記事で全体の流れを確認しておくと安心です。
WordPressを構築する場合は、以下の記事を参考にしてください。
VPSではWordPressだけでなく、メールサーバの構築も可能です。
VPSの選び方で迷っている場合は、以下の記事で違いを整理しています。
まとめ
SSH接続でエラーが出ると焦りがちですが、エラー内容を見れば原因はある程度切り分けできます。
- Connection refused:ポートやSSHサービスの問題
- Connection timed out:通信経路やネットワークの問題
- Permission denied:ユーザー名や鍵など認証の問題
まずは表示されたエラーを確認し、ネットワーク・ポート・認証の順に一つずつ確認していきましょう。
SSH接続のトラブルは初期設定でよくある問題ですが、一度解決すれば、その後の構築はスムーズに進められます。
実際にWordPressを構築して運用している環境については、以下の記事で詳しくまとめています。
ConoHa VPSの料金やプランは変更されることもあるため、最新情報は公式サイトで確認しておくと安心です。