そんなふうに感じて、一歩踏み出せずにいる方は多いのではないでしょうか。
実は、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開放を最初に確認する
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
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
インスタンス作成画面の「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 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
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
インスタンスを一度削除して作り直した際に同じパブリック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で修正する |
「クラウドって難しそう」と思っていた方も、この手順に沿えば1時間以内にサーバーを立てられます。
まずは接続して、
ls と pwd を打ってみてください。そこからが本当のLinuxサーバー学習のスタートです。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
クラウドサーバーを立てたら、次は「正しい手順・正しい設定」でサーバーを安全に固める方法を学びませんか?
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:WSL2でPostgreSQLをインストールして使う入門|WindowsのPCにデータベース環境を作ってSQLを実践する方法
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます