前回まででOracle Cloud上にインスタンス(サーバー)を立ち上げることができました。次はいよいよOracle Cloud Always Free のインスタンスに、手元の Windows から SSH接続する手順を紹介します。サーバーを作っただけでは、まだ「持っているだけ」です。入ってみて、はじめて使えるようになります。
前回までをご覧になっていない方は以下の記事をご覧ください。
| 回 | 内容 |
|---|---|
| 1 | Oracle Cloud Always Free のサインアップ手順 |
| 2 | Oracle Cloud Always Free のインスタンス作成手順 |
| 3 | この記事(SSH接続の手順) |
この記事では、実際の画面つきで、SSH接続の流れを順番に書きます。初回に出る確認メッセージの意味と、都度のログインの手間を省いて「ssh oracle」と入力する だけで接続できるようにする設定も、あわせて紹介します。
SSH接続の結論:公開IPと秘密鍵があれば、コマンド1本で入れる
先に結論です。SSH接続の流れは、次の5つです。
| 順番 | やること | ひとこと |
|---|---|---|
| 1 | コンソールで、公開IPを確認 | インスタンス一覧の「Public IP」に出る |
| 2 | Test-NetConnection で、ポート22の通りを確認 |
TcpTestSucceeded : True なら、道はつながっている |
| 3 | ssh -i 秘密鍵 ubuntu@公開IP で接続 |
初回だけ、確認メッセージに yes と答える |
| 4 | exit で抜ける |
2回目からは、確認なしで入れる |
| 5 | config に書いて、ssh oracle だけで入る |
長いコマンドを、毎回打たなくて済む |
僕のインスタンスは、Ubuntu 24.04 の Always Free です。A1(ARM)の空きが出なかったので、AMD(x86_64)のインスタンスで進めました。画面は、2026年11月3日時点のものです。画像は、公開IPなどをぼかしています。
SSH接続の前に:公開IP・秘密鍵・ユーザー名をそろえる
SSH接続の前に、手元にそろえるものは、この3つです。
| 用意するもの | 内容 |
|---|---|
| 公開IPアドレス | インスタンスの一覧か、詳細の画面で確認する。付いていなければ、あとから割り当てる |
| 秘密鍵 | インスタンスを作るときに保存した .key のファイル。公開鍵(.pub)ではない |
| ユーザー名 | Ubuntu のイメージは ubuntu。Oracle Linux のイメージは opc |
ユーザー名は、Oracle の公式ドキュメントに、イメージごとに書かれています。ここを間違えると、鍵が合っていても入れません。ごはんでいえば、予約の名前が違うと、席が空いていても通してもらえない、という感じです。
SSH接続の手順1:コンソールで公開IPを確認する
コンソールのメニューから、「Compute」→「Instances」を開きます。

インスタンスの一覧に、状態(Running)と、Public IP が出ています。名前の横には、「Always Free」の印が付いています。この Public IP が、接続先のアドレスです。

SSH接続の手順2:ポート22が通るかを先に確かめる
いきなり入ろうとして失敗すると、鍵が悪いのか、道が悪いのか、分かりません。そこで、先に道だけを確かめます。PowerShell で、次のコマンドを打ちます。
Test-NetConnection <公開IP> -Port 22
結果に、TcpTestSucceeded : True と出れば、ポート22まで届いています。

False のときは、公開IPが付いているか、IPの打ち間違いがないかを、先に確かめてください。
SSH接続の手順3:秘密鍵の場所を確認する
次に、秘密鍵の場所を確かめます。僕は、インスタンスを作るときに保存した2つのファイルを、ホームフォルダーの .ssh フォルダーに置いています。.key のほうが秘密鍵、.key.pub のほうが公開鍵です。

秘密鍵は、人に見せない、送らない、ネットに載せないのが鉄則です。公式ドキュメントには、Windows では、秘密鍵のファイルのアクセス権を、自分のアカウントだけに絞る手順も書かれています。接続を拒否されたときは、ここも疑ってください。
SSH接続の手順4:初回は、確認メッセージに yes と答える
準備ができたので、接続します。コマンドは、次の形です。
ssh -i "$HOME\.ssh\ssh-key-2026-11-01.key" ubuntu@<公開IP>
-i のあとが秘密鍵のファイル、ubuntu@ のあとが公開IPです。初回は、次のようなメッセージが出ます。

「The authenticity of host … can’t be established」は、「このサーバーに会うのは初めてで、本物か確認できません」という意味です。続けて、フィンガープリント(サーバーの指紋)が出ます。自分が作ったサーバーのIPであることを確認して、yes と打ちます。

つながると、「Welcome to Ubuntu 24.04.5 LTS」と出て、プロンプトが ubuntu@instance-…:~$ に変わります。これで、サーバーの中に入れました。

Permanently added … to the list of known hosts は、「このサーバーを、知っているサーバーの一覧に登録した」という意味です。登録先は、手元の .ssh フォルダーの known_hosts です。
SSH接続を終えるときと、2回目以降
サーバーから出るときは、exit と打ちます。

もう一度、同じコマンドで入ってみます。2回目は、確認メッセージが出ません。 「Last login」(前回のログイン日時)が出て、すぐに入れました。

確認が出なくなったのは、初回に、サーバーの指紋が known_hosts に登録されたからです。

SSH接続を楽にする:config に書いて、ssh oracle だけで入る
毎回、鍵の場所とユーザー名とIPを打つのは、面倒です。そこで、.ssh フォルダーに、config というファイルを作ります。拡張子は付けません(config.txt にしない)。

中身は、次の5行です。
Host oracle
HostName <公開IP>
User ubuntu
IdentityFile ~/.ssh/ssh-key-2026-11-01.key
IdentitiesOnly yes

| 行 | 意味 |
|---|---|
Host oracle |
接続するときの「あだ名」。好きな名前でよい |
HostName |
接続先の公開IP |
User |
ログインするユーザー名(Ubuntu は ubuntu) |
IdentityFile |
使う秘密鍵のファイル |
IdentitiesOnly yes |
ここで指定した鍵だけを使う |
保存したら、あとは ssh oracle と打つだけです。

SSH接続でハマりやすい点:入れないときの確認先
入れないときは、次の順に確かめます。公式ドキュメントの確認点を、僕の言葉で整理しました。
| 症状・原因の候補 | 確認すること |
|---|---|
| ポート22が通らない | Test-NetConnection が False。公開IPが付いているか、IPの打ち間違いがないか |
| ユーザー名が違う | Ubuntu は ubuntu、Oracle Linux は opc |
| 別の鍵を指定している | インスタンスを作るときに保存した鍵か。作り直した鍵や、別のサーバーの鍵ではないか |
| 鍵のアクセス権 | 他の人が読める状態だと、拒否される。Windows は、自分のアカウントだけにする |
| 鍵をなくした | 公式ドキュメントでは、新しいインスタンスを作って、鍵を指定し直す必要がある、とされている |
鍵をなくすと、作り直しになります。インスタンスの作成手順の記事でも書いたとおり、秘密鍵は、保存したあとの管理が大事です。
SSH接続まで来たので、シリーズはいったんここまで
Oracle Cloud Always Free のシリーズは、これで、サインアップ、インスタンス作成、SSH接続の3つがそろいました。
| 回 | 内容 |
|---|---|
| 1 | Oracle Cloud Always Free のサインアップ手順 |
| 2 | Oracle Cloud Always Free のインスタンス作成手順 |
| 3 | この記事(SSH接続の手順) |
「作る」から「入る」まで来ました。次は、このサーバーで何をするか、です。ごはんでいえば、ようやく厨房に入れたところ。何を作るかは、皆さん自身です。楽しんでいきましょう!
もっと別のIT系の話題は、当ブログの技術ネタからどうぞ。
参考
- Connecting to a Linux Instance(Oracle Cloud Infrastructure ドキュメント)
- Always Free Resources(Oracle Cloud Infrastructure ドキュメント)

ITもごはんも、腹八分目が長続きのコツ!


コメント