Oracle Cloudの無料枠でLinuxを始める入門|アカウント登録からUbuntuのSSH接続まで手順で解説

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > 【Linux入門】初心者のための基礎知識・講座 > Oracle Cloudの無料枠でLinuxを始める入門|アカウント登録からUbuntuのSSH接続まで手順で解説
「Linuxの勉強をしたいけど、クラウドって結局お金がかかるんじゃないの?」
そんなふうに感じて、一歩踏み出せずにいる方は多いのではないでしょうか。

実は、Oracle Cloud(OCI: Oracle Cloud Infrastructure)には「Always Free」という永続的な無料枠があり、Linuxサーバーを完全無料で24時間365日起動し続けられます。
AWSの無料枠が12ヶ月限定なのに対し、Oracle CloudのAlways Freeは期限なし。
学習用として十分なスペック(最大4コア・24GBメモリ)のサーバーが、費用なしで手に入ります。

この記事では、Oracle Cloudの無料アカウント作成からUbuntu LinuxのVM(仮想マシン)を立てて、SSH接続するまでの手順を解説します。
「クラウドは難しそう」と感じている初心者の方でも、手順に沿えば1時間以内に本物のLinuxサーバーに接続できます。

この記事のポイント

・ Oracle CloudのAlways Free枠は期限なしで、Ubuntu Linuxサーバーが永続的に無料で使える
・ ARMのA1インスタンスは合計4コア・24GBメモリまで無料。学習用に十分なスペック
・ SSH接続には公開鍵認証を使う。ssh-keygenで鍵を作り、sshコマンドで接続する
・ 接続できない時はセキュリティリスト(ファイアウォール)のポート22開放を最初に確認する


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Oracle CloudのAlways Freeとは?無料なのに何ができる?

Oracle Cloud(OCI)は、オラクル社が提供するクラウドコンピューティングサービスです。
AWSやGCPと同じ「クラウドでサーバーやデータベースを借りるサービス」ですが、Oracle Cloudには他社にない特長があります。

それが「Always Free」と名のついた永続的な無料リソースです。

・Ampere A1(ARMアーキテクチャ)インスタンス:合計4 OCPU・24GBメモリまで永続無料
・ブートボリューム(ディスク):最大200GBまで無料
・VCN(仮想クラウドネットワーク):2つまで無料
・アウトバウンド転送:月10GBまで無料

AWSのFree Tier(EC2は12ヶ月のみ)と違い、Always Freeのリソースに有効期限はありません。
4コア・24GBメモリのLinuxサーバーが費用なしで動かせるのは、学習目的としては十分すぎるスペックです。

【要注意】アカウント登録にはクレジットカードが必要です。Always Freeの範囲内であれば課金されませんが、誤って有料リソースを作成した場合は課金されます。このチュートリアルで使用する「VM.Standard.A1.Flex」シェイプがAlways Free対象であることを確認してから作成してください。

Ubuntu LinuxのVMを作成する手順

Oracle Cloudのコンソール(ブラウザ画面)からインスタンス(VM)を作成します。
コンソール操作は日本語化されているため、英語が苦手でも問題ありません。

1. OCIアカウントを作成する

Oracle Cloudの公式サイトから「無料で始める」ボタンでアカウントを作成します。
登録に必要なものは以下のとおりです:

・メールアドレス(Googleアカウント等でも可)
・名前・住所(英語表記が必要な箇所あり)
・クレジットカード番号(確認用。Always Free範囲なら課金なし)
・SMS認証できる電話番号

登録後に「テナンシ名」と「ホームリージョン」を設定します。ホームリージョンは後から変更できません。日本国内のサーバーを使いたい場合は「Japan East(Tokyo)」または「Japan Central(Osaka)」を選んでください。

2. VCNとサブネットを確認する

インスタンスを作成するには、ネットワーク設定(VCN: Virtual Cloud Network=仮想ネットワーク)が必要です。
インスタンス作成時に「クイック作成」を選ぶと、VCNとサブネットが自動生成されます。

コンソールのメニューから「ネットワーキング」→「仮想クラウド・ネットワーク」でも確認・作成できます。

3. Ubuntuのインスタンスを作成する

コンソール上部のメニューから「コンピュート」→「インスタンス」→「インスタンスの作成」をクリックします。

設定する主な項目:

・名前:任意(例: ubuntu-free-01)
・イメージ(OS):「Canonical Ubuntu」を選択(24.04 LTSを推奨)
・シェイプ(サーバースペック):「VM.Standard.A1.Flex」を選択(ARMアーキテクチャ・Always Free対象)
・OCPU数:1以上4以下の範囲で指定(Always Free枠内)
・メモリ:6~24GBの範囲(OCPU × 6GB相当。Always Free枠内)
・ブートボリュームサイズ:50GB程度(デフォルト可)

シェイプに「VM.Standard.A1.Flex」が表示されない場合、リージョンによってはAlways Freeのリソースが一時的に枯渇していることがあります。時間をおいて再試行するか、別リージョンを試してください。

4. SSH鍵ペアを自分のPCで生成する

Linuxサーバーへの接続にはSSH公開鍵認証を使います。これは「自分だけが持つ鍵(秘密鍵)」でサーバーに入る方式で、パスワード認証よりも安全です。

自分のPC(WindowsのWSL2やMacのターミナル)でSSH鍵ペアを生成します:

# ssh-keygen で鍵ペアを生成する(自分のPCのターミナルで実行) # -t ed25519 は現代的な楕円曲線暗号方式。RSAより短くて安全 ssh-keygen -t ed25519 -C "oracle-cloud" # ファイル保存先を聞かれたら Enter を押す(デフォルト: ~/.ssh/id_ed25519) # Enter file in which to save the key (/home/user/.ssh/id_ed25519): # パスフレーズを設定する(任意。セキュリティ向上のため設定を推奨) # Enter passphrase (empty for no passphrase): # 生成された公開鍵の内容を表示する cat ~/.ssh/id_ed25519.pub # ssh-ed25519 AAAAC3Nzam... oracle-cloud

`cat` コマンドで表示された `ssh-ed25519 AAAA...` から始まる1行が公開鍵です。この内容をコピーしておきます。

インスタンス作成画面の「SSHキーの追加」で「公開キーの貼付け」を選び、コピーした公開鍵を貼り付けます。
設定が完了したら「作成」ボタンをクリックします。インスタンスの起動には1~3分ほどかかります。

起動が完了したら、インスタンスの詳細ページに「パブリックIPアドレス」が表示されます。このIPアドレスを接続時に使います。

SSHでUbuntuサーバーに接続する

1. セキュリティリストのSSHポートを確認する

Oracle Cloudでは、インスタンスへの通信はデフォルトで制限されています。
SSH(ポート22番)の受信が許可されているか確認します。

コンソールで「ネットワーキング」→「仮想クラウド・ネットワーク」→ 使用中のVCN → 「セキュリティ・リスト」を開き、イングレス・ルール(受信方向のルール)に以下の設定があることを確認してください:

・ソースCIDR:0.0.0.0/0
・プロトコル:TCP
・宛先ポート範囲:22

設定がない場合は「イングレス・ルールの追加」から追加します。
この設定がないとSSHで接続できず、「Connection timed out」エラーになります。

2. PCからSSHで接続する

インスタンスのパブリックIPアドレスが確認できたら、自分のPCのターミナルからSSH接続します。
Oracle CloudのUbuntuインスタンスに接続する場合、デフォルトユーザー名は ubuntu です。

# oracle cloudのUbuntuインスタンスにSSH接続する # -i で使用する秘密鍵ファイルを指定する # xxx.xxx.xxx.xxx の部分は実際のパブリックIPアドレスに置き換える ssh -i ~/.ssh/id_ed25519 ubuntu@xxx.xxx.xxx.xxx # パスフレーズを設定した場合は、ここで入力を求められる # Enter passphrase for key '/home/user/.ssh/id_ed25519':

接続に成功すると、以下のようなWelcomeメッセージが表示されます:

Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-1018-oracle aarch64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro ubuntu@instance-20261012:~$

プロンプトが ubuntu@インスタンス名:~$ の形になっていれば接続成功です。

3. 接続後の確認コマンドを実行する

接続直後に試しておくと実際の環境を把握できるコマンドを紹介します。

# ホスト名を確認する ubuntu@instance-20261012:~$ hostname instance-20261012 # プライベートIPアドレスを確認する(パブリックIPはコンソールで確認) ubuntu@instance-20261012:~$ hostname -I 10.0.0.12 # cpuアーキテクチャを確認する(aarch64 = ARMであることを確認) ubuntu@instance-20261012:~$ uname -m aarch64 # osのバージョンを確認する ubuntu@instance-20261012:~$ cat /etc/os-release | grep PRETTY PRETTY_NAME="Ubuntu 24.04.1 LTS" # ディスク使用量を確認する ubuntu@instance-20261012:~$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 47G 3.5G 43G 8% / # メモリ使用量を確認する ubuntu@instance-20261012:~$ free -h total used free shared buff/cache available Mem: 5.8Gi 352Mi 4.5Gi 12Mi 983Mi 5.4Gi Swap: 0B 0B 0B

`uname -m` で `aarch64` と表示されるのは、Oracle CloudのA1インスタンスがARMアーキテクチャ(64ビット)であることを示しています。
x86_64(インテル互換)とはアーキテクチャが異なりますが、Linuxコマンドの操作は同じです。
日常的なLinux学習ではまったく問題ありません。

接続できない・エラーが出た時の対処法

「Connection timed out」が出る場合

Oracle Cloud側のセキュリティリストにポート22の受信ルールが設定されていない可能性が高いです。
前述の「セキュリティリストのSSHポートを確認する」手順を再確認してください。
インスタンスの詳細画面でパブリックIPアドレスが正しいか確認することも重要です。

「Permission denied (publickey)」が出る場合

・SSH接続時に `-i` オプションで秘密鍵ファイルを正しく指定しているか確認してください
・秘密鍵ファイルのパーミッションが 600(自分だけ読み書き可)になっているか確認します

# 秘密鍵のパーミッションを確認する ls -la ~/.ssh/id_ed25519 # -rw------- (600) であること。644や755だとSSHが拒否する # パーミッションを修正する場合 chmod 600 ~/.ssh/id_ed25519

「Host key verification failed」が出る場合

インスタンスを一度削除して作り直した際に同じパブリックIPが割り当てられると、保存済みのホスト鍵と衝突します。
`~/.ssh/known_hosts` から該当IPのエントリーを削除します:

# known_hostsから特定IPのエントリーを削除する ssh-keygen -R xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx の部分は実際のIPアドレスに置き換える

Oracle Cloudの無料Linuxサーバーで試せること

接続できたら、実際の運用に近い環境でLinuxを学ぶことができます。

・Nginxを動かしてWebサーバーを体験する:sudo apt install nginx だけで起動できます
・Dockerをインストールしてコンテナを動かす:本番環境に近い構成をローカルで再現する練習に
・シェルスクリプトを書いてcronで定期実行する:定期バックアップや自動処理の自動化
・fail2banでSSHへの不正アクセスをブロックする:セキュリティ設定の実践
・PythonでシンプルなアプリをVPSにデプロイする:Flaskなどのフレームワークをサーバーで動かす

ローカルのPCだけで学ぶより、実際のLinuxサーバーを持つことで「動かして確認する」学習ができます。
これが現場に近い実務感覚を養う最短の方法です。

関連記事 ~ 次のステップへ進む

Linuxサーバーに接続できたら、次はより実践的なLinuxスキルに挑戦しましょう。

Linux入門シリーズ
・Linuxとは何か?WindowsやMacとの違いを初心者向けに解説
・WSL2でLinuxを始める手順|インストールから基本コマンドまで
・クラウドやVPSでLinuxを始める方法|初心者でも迷わない環境構築ガイド

実務で使うLinuxスキル 7テーマ
・tmuxコマンドでターミナルを分割・管理する方法(シェルスクリプト)
・ssh-keygenコマンドでSSH公開鍵認証を設定する方法(セキュリティ)
・Apacheのタイムアウト設定を変更・確認する方法(サーバー構築)
・straceコマンドでプロセスのシステムコールを追跡する方法(トラブルシューティング)
・ncコマンドでネットワーク接続をテストする方法(ネットワーク)
・rsyncコマンドでファイルを同期・転送する方法(ファイルシステム・ストレージ)
・Linuxでポート番号の状態を確認するコマンド(現場コラム)

本記事のまとめ

Oracle CloudのAlways Free枠でUbuntu LinuxサーバーにSSH接続するまでの手順をまとめます。

やること 方法
アカウント作成 cloud.oracle.comの「無料で始める」から登録
インスタンス作成 コンピュート → インスタンス → インスタンスの作成
OS選択 Canonical Ubuntu 24.04 LTS
シェイプ(無料) VM.Standard.A1.Flex(ARM・Always Free対象)
SSH鍵生成 ssh-keygen -t ed25519 -C "oracle-cloud"
SSH接続 ssh -i ~/.ssh/id_ed25519 ubuntu@パブリックIP
接続できない時 セキュリティリストのポート22受信ルールを確認する
鍵認証エラー時 秘密鍵のパーミッションをchmod 600で修正する
Oracle CloudのAlways Freeは、期限なしで使える本物のLinux環境です。
「クラウドって難しそう」と思っていた方も、この手順に沿えば1時間以内にサーバーを立てられます。

まずは接続して、ls と pwd を打ってみてください。
そこからが本当のLinuxサーバー学習のスタートです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
クラウドサーバーを立てたら、次は「正しい手順・正しい設定」でサーバーを安全に固める方法を学びませんか?
無料マニュアルを受け取る >>

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。