質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

322閲覧

VPS サーバーへの SSH 接続がタイムアウトしてしまう

munekun

総合スコア116

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2025/06/02 21:57

編集2025/06/03 02:17

実現したいこと

ConoHaVPS サーバーに SSH 接続ができない理由を知りたいです。

前提

・ConoHaVPS を利用
・レンタルサーバーで VPS は初体験
・共用レンタルサーバーは利用経験あり
・PowerShell からの接続

※ 尚、「サーバーの再構築をして、その際に SSH キーをセットする」という方法は避けたいです。今回どうしてできなのか?という理由を勉強したいためです。

発生している問題

PowerShell で下記のように実行してもタイムアウトしてしまいます。

3つ実行していますが、root へも ubuntu へも、何も書かなくてもタイムアウトです。(ubuntu が何かはよく分かりませんが ChatGPT にそうしろと言われたので書きました。)

Bash

1PS C:\Users\katespade> ssh -i "C:\Users\katespade\Downloads\key-2025-06-02-10-38.pem" root@163.99.999.999 2ssh: connect to host 163.99.999.999 port 22: Connection timed out 3PS C:\Users\katespade> ssh -i "C:\Users\katespade\Downloads\key-2025-06-02-10-38.pem" ubuntu@163.99.999.999 4ssh: connect to host 163.99.999.999 port 22: Connection timed out 5PS C:\Users\katespade> ssh ubuntu@163.99.999.999 6ssh: connect to host 163.99.999.999 port 22: Connection timed out

試したこと

➀ サーバーに公開鍵を持たせる

まず上記 "key-2025-06-02-10-38.pem" は ConoHaVPS の管理画面で生成、ダウンロードした秘密鍵のファイルです。
どうやらこの公開鍵として .pub 形式に変換した値をサーバー側に持たせねばならない様子。
そこで以下のように .pub を発行し、サーバーに持たせ、確認しました。

➀-1. .pub を発行:
下記を PowerShell で実行し、"C:\Users\katespade" に "conoha-key.pub" が作られていることを確認しました。

Bash

1ssh-keygen -y -f C:\Users\katespade\Downloads\key-2025-06-02-10-38.pem > conoha-key.pub

➀-2. サーバーが持っていないことを確認:
下記を ConoHaVPS のコンソール画面で実行して確認しました。

Bash

1root@vm-99999999-c6:~# cat /home/ubuntu/.ssh/authorized_keys 2cat: /home/ubuntu/.ssh/authorized_keys: No such file or directory

➀-3. サーバーに持たせる:
下記を ConoHaVPS のコンソール画面で実行し [Ctrl+O] [Enter] [Ctrl+X] で保存しました。

Bash

1root@vm-99999999-c6:~# sudo mkdir -p /home/ubuntu/.ssh 2root@vm-99999999-c6:~# sudo nano /home/ubuntu/.ssh/authorized_keys 3"conoha-key.pub" の値】

※ 【"conoha-key.pub" の値】とは ssh-rsa ... の文字列で、... の部分は382文字でした。

➀-4. 成功を確認:
下記を ConoHaVPS のコンソール画面で実行し、【"conoha-key.pub" の値】が表示されたことで無事確認ができたようです。

Bash

1root@vm-99999999-c6:~# cat /home/ubuntu/.ssh/authorized_keys 2"conoha-key.pub" の値】

以上でサーバー側が持つ公開鍵が、"C:\Users\katespade\Downloads\key-2025-06-02-10-38.pem" の秘密鍵と連携が取れたものと思ったのですが、やはり結果は同様のタイムアウトでした。

➁ SSHでなくパスワード接続

SSH ができないならとりあえずパスワードで接続はどうかと思いました。

➁-1. sshd_config を表示:
下記を ConoHaVPS のコンソール画面で実行し、sshd_config を表示しました。(サーバーにあるファイルか何かでしょうか?)

Bash

1root@vm-99999999-c6:~# sudo nano /etc/ssh/sshd_config

長いので全文は【割愛】して冒頭と末尾のみ掲載しますが、下記の内容がコンソール画面に表示されました。

Bash

1# This is the sshd server system-wide configuration file. See 2# sshd_config(5) for more information. 3 4【割愛】 5 6# Example of overriding settings on a per-user basis 7#Match User anoncvs 8# X11Forwarding no 9# AllowTcpForwarding no 10# PermitTTY no 11# ForceCommand cvs server

➁-2. パスワード接続を可能にする:
下記を sshd_config 末尾に貼り付け、[Ctrl+O] [Enter] [Ctrl+X] で保存しました。

Bash

1# Example of overriding settings on a per-user basis 2#Match User anoncvs 3# X11Forwarding no 4# AllowTcpForwarding no 5# PermitTTY no 6# ForceCommand cvs server 7 8# パスワード接続を可能にする 9PasswordAuthentication yes 10PermitRootLogin yes

➁-3. 成功を確認:
下記を ConoHaVPS のコンソール画面で実行し、3つとも yes であることを確認しました。

Bash

1root@vm-99999999-c6:~# sudo grep -Ei '^PasswordAuthentication|^PermitRootLogin' /etc/ssh/sshd_config 2PermitRootLogin yes 3PasswordAuthentication yes 4PermitRootLogin yes

以上でパスワード接続ができるようになっているらしいのですが、PowerShell で下記を実行してもタイムアウトでした。(本来はパスワードの入力が求められるらしいのですが。)

Bash

1PS C:\Users\katespade> ssh ubuntu@163.99.999.999 2ssh: connect to host 163.99.999.999 port 22: Connection timed out
➂ ポートの確認

サーバー設定でポート22という接続方法が制限されている点を確認しましたが、ALLOWAnywhere であることから大丈夫そうです。

下記を ConoHaVPS のコンソール画面で実行して確認しました。

Bash

1root@vm-99999999-c6:~# sudo ufw status 2Status: activeStatus: active 3 4To Action From 5-- ------ ---- 6OpenSSH ALLOW Anywhere 7OpenSSH (v6) ALLOW Anywhere (v6)
➃ セキュリティグループの確認

上記 ➂ は「VPS 内部に入ってきたトラフィックの制御」であって、「VPS に届く前のネットワークトラフィック」はセキュリティグループを見なければならないとのこと。

ConoHaVPS の管理画面で確認しましたが、default となっており、その中身は下図の通りで問題はなさそう(ポート22を防ぐような指定になっていなそう)でした。
イメージ説明

➄ IP アドレスの確認

まさかと IP アドレスの誤りを疑いましたが、大丈夫そうです。

下記を ConoHaVPS のコンソール画面で実行して確認しました。

Bash

1root@vm-99999999-c6:~# curl -s https://ifconfig.me 22400:8500:2002:3324:163:99:999:999root@vm-99999999-c6:~#

novelistory さんからコメントを受け IPv4 でも確認しました。

Bash

1root@vm-50625e1c-c6:~# curl -4 -s https://ifconfig.me 2163.99.999.999root@vm-99999999-c6:~#

ツールのバージョン

PowerShell

PowerShell 7.5.1

Ubuntu

Ubuntu 24.04 LTS

Bash

1root@vm-99999999-c6:~# lsb_release -a 2No LSB modules are available. 3Distributor ID: Ubuntu 4Description: Ubuntu 24.04 LTS 5Release: 24.04 6Codename: noble

質問は以上です。
初めての VPS サーバー操作でわからないことだらけですが、お詳しい方にご回答頂けましたら幸いです。
よろしくお願い致します。

補足

別途契約している共用レンタルサーバーの方には PowerShell から SSH 接続できているので、私のインターネット回線が SSH 接続を拒否しているわけではなさそうです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2025/06/02 22:36

お使いのインターネット回線が、ssh 接続( Port 22 )を拒否していることはないでしょうか。 ある賃貸物件で、無料で使えるとなっていたインターネット回線がポート制限されたタイプでしたので、お使いの回線によっては制限されている可能性がありそうです。 たとえば、ssh のポートを 40022 のように大きなポート番号に変更したら、繋がるとかないでしょうか。
novelistory

2025/06/03 00:32

>2400:8500:2002:3324:163:99:999:999 こちらはIPv6アドレスではないでしょうか? PowerShellで実行したコマンドでは「root@163.99.999.999」と記載しておりますが、 IPv6の第5~8セグメントを取り出してIPv4アドレスの第1~4オクテットとすることはできません。
munekun

2025/06/03 02:17

CHERRY さん、ありがとうございます。 別途契約している共用レンタルサーバーの方には PowerShell から SSH 接続できているので、私のインターネット回線が SSH 接続を拒否しているわけではなさそうです。(この旨、質問に補足を加筆しておきました。) novelistory さん、ありがとうございます。 IPv6 の確認方法しか知らず「まぁ同じところあるからたぶん同じでしょ」と思っていました。 一応 IPv4 で確認しましたが、やはり叩いている IP アドレスに誤りはありませんでした。(この旨、質問の➄を加筆しておきました。)
novelistory

2025/06/03 03:07 編集

ご返信いただきありがとうございます。 IPv4アドレス「163.99.999.999」というのは、例示用のIPアドレスというご認識でお間違いないでしょうか? そうであれば、情報をマスクするための例示用である旨を質問にご記載いただくと、分かりやすいかと存じます。 また、Conoha VPSの公式ページにIPアドレスの確認方法や、ターミナルソフトを利用してのSSH接続方法のページがございましたので、ご参考までに共有いたします。 ■SSH接続でVPSにログインする  https://support.conoha.jp/v/vps_ssh/
setoppu

2025/06/03 03:54

>➁-3. 成功を確認: の後で、sshdは再起動なりしていますか? reloadでOKかは未確認だったりしますが。(ssh接続したままsystemctrlでrestartしたりしたなぁ) 公開鍵認証でubuntu 24.04だとrsa形式が無効になっている場合があります。 そのあたりはどうですか? sshd_configでログレベルを変更して接続試行した時のログはどんな感じでしょう? クライアントでsshコマンドで接続しようとする時に-vv等のオプションを追加すると、詳細が表示されるかも知れませんが、そちらはどうでしょう?(クライアントがopensshの場合ですが)
otn

2025/06/03 05:37 編集

Connection timed out でネットワークのレベルで接続できていないので、鍵がどうのとか、パスワードはどうのとかは関係ありません。SSH認証の問題なら Permission denied です。 見るべき所は正しくて、 (A) sshdが起動しているか (B) ポート番号があっているか (C) IPアドレスがあっているか (D) OS内のファイアーウォールで塞いでないか (E) OS外のサーバー会社側の仕組みで塞いでないか (F) 自分側のネットワークやPC内で塞いでないか のうち、(A)以外は確認済みなのが質問とコメントから分かります。(A)は確認済みですか? (E)がその画面で合ってるのかはConoHaVPSユーザーじゃないので分かりません。 (F)の「別途契約している共用レンタルサーバーの方には PowerShell から SSH 接続できているので」は、ポート番号は同じ22ということですか? サーバーローカルで自分自身にグローバルIPアドレス指定でsshコマンドで繋がれば(A)(B)(C)が合ってることが一気に確認できます。仮に認証に問題がありPermission deniedで繋がらなくても、サーバーのセキュリティーログに該当するメッセージが出ていれば(A)(B)(C)は大丈夫です。そこがOKなら、(E)について、ConoHaに問い合わせでしょうか。
otn

2025/06/03 04:47

質問から外れるので別コメントにしました。 sshのポート番号をデフォルトの22のまま使うのは危険です。悪人は高頻度で攻撃をを試みているので、今の「ネットワーク的に繋がらない」問題が解決すると、そうそうに侵入されるかも知れません(特にパスワードログイン可能な場合)。まあ「かも知れません」レベルですし、22以外にすれば絶対安全ということでもないですが。 問題解決したら即座に、あるいは今すぐ、ポート番号を22以外にしましょう。PermitRootLogin と PasswordAuthentication も現時点でNoにしてsshdを再起動した方が良いです。問題原因調査のために一時的にYesにするのはありだと覆いますが、すぐNoに戻しましょう。 「ダウンロードした秘密鍵のファイルです。」も、秘密鍵は絶対に秘密にするものなので、生成したPC/サーバー以外に持ち出すのは原則としてはありません。鍵ペアはクライアント側で生成して公開鍵をサーバー側に移送するのが原則です。ただ、企業などでは運用ルール上1つの秘密鍵を複数PCで共用せざるを得ない場合もあるようでその場合は企業のルールに従って秘密鍵を移送するしか無いですね。秘密鍵の移送時に漏洩するリスクはネットワーク経由ならあまり心配しないと思いますが、「原則を無視している」ことだけは認識しておきましょう。
TakaiY

2025/06/03 05:02

ssh に -v -vv -vvv など(多い方が深く詳細)のオプションを付けると、詳細な接続状況がわかります。 これで何処ではじかれているかわかると思います。
munekun

2025/06/04 05:58

setoppu さん、ありがとうございます。 あれから無事解決致しました。 > sshdは再起動 コメントを受けてさっそく試したものの、変化なしでした。 > 公開鍵認証でubuntu 24.04だとrsa形式が無効になっている場合 > sshd_configでログレベルを変更して接続試行した時のログ サーバーを直にいじった経験がほぼなくて・・、すみません。 何をするようご指示頂いているのか理解が及ばずでした。 > -vv等のオプションを追加 これは今後困ったときにたびたび頼れそうなコマンドですね。覚えておきたいと思います。
munekun

2025/06/04 06:03

otn さん、ありがとうございます。 あれから無事解決致しました。 otn さんの整理は大変明瞭で、原因の特定にとても役に立ちました。改めて感謝申し上げます。 まさにご指摘の通り (E) で、質問の ➃ での確認に不備がございました。 危険性についてのご指導も「質問してよかった!」と、めっちゃ嬉しい内容でした。 さっそく22以外にするよう進めていきます。
munekun

2025/06/04 06:05

TakaiYさん、ありがとうございます。 あれから無事解決致しました。 > -v -vv -vvv など(多い方が深く詳細)のオプションを付ける たくさん付けるほど詳細なのですね。これはまた良いことを教えて頂きました。 いつかのために覚えておきたいテクニックをありがとうございます。
otn

2025/06/04 16:04 編集

やっぱりそこですか。 > まさにご指摘の通り (E) で、質問の ➃ での確認に不備がございました。 (A)(E)以外の確認は間違いなさそうで、(A)もまあ大丈夫だろうと思いました。 「初めて使う環境での、新規サーバー構築で自宅からssh接続する」とか「新規でWebサーバーを作って作ったウェブプログラムが期待通りのレスポンスを返す」とかがうまく行くためには、5個とか10個、20個とかの作業が全部正しく終わっている必要があります。途中での、各作業の確認を一切行わずに、「最終テストをいきなりやって、うまく行かない」といいう質問多数です。 普通は、作業するごとに、その作業が正しかったかをテストして確認してから、先に進みます。作業によっては単独のテストがしにくくて、2-3ステップまとめてテストすることもありますが。 > サーバーローカルで自分自身にグローバルIPアドレス指定でsshコマンドで繋がれば(A)(B)(C)が合ってることが一気に確認できます。 と書きましたが、これがOKなら、IPアドレスやポート番号や認証設定などの間違いを疑う必要がなくなるので(鍵ファイルでの認証だとクライアント側の秘密鍵ファイルがあってるかの確認にはなってないので、そこは別途で確認する)、Connection timed out というメッセージの意味を正しく読み取れなくても、ネットワーク(経路か、ファイアーウォール相当)が怪しいと想像付くかと思います。 まあ「これがOK」という判断が間違っている可能性は残りますが。 (チェックしたつもりでも、手作業や目検の場合は確認自体が間違っていたというのはよくある)
guest

回答1

0

自己解決

みなさんコメント誠にありがとうございます。
ひとまずこちらを先に投稿させて頂きます。

原因

ポート 22 がセキュリティグループで許可されていないため、タイムアウトしていました。

つまり ➃ セキュリティグループの確認 で、確認はできていなかったということでした。

質問に掲載の画像は一見「In / All / All / All」なので開放されていそうですが実際はダメで、明示的に「TCP / 22」を許可する必要がありました。

解決方法

画像の default とは別のセキュリティグループを作成し、そこに「In / IPv4 / TCP / 22 / 0.0.0.0/0」を加えることで解決致しました。

投稿2025/06/04 05:50

munekun

総合スコア116

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問