OCI Cloud Free Tier をもぎ取れ その3

# 概要
OCI Cloud Free Tierを取得してみた。
インスタンス作って、SSHするまで

# 手順
## https://www.oracle.com/jp/cloud/sign-in.html を開く。

## インスタンスの起動
ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
「インスタンスの作成」をクリックします。
<your initials>-Instanceのように、インスタンスの名前を入力します。機密情報の入力は避けてください。
「配置」セクションのデフォルトの可用性ドメインをそのまま使用します。
「イメージとシェイプ」セクションで、次の選択を行います:
「イメージ」セクションのデフォルトのOracle Linuxをそのまま使用します。
ArmベースのOCI Ampere A1 Computeインスタンスを作成している場合は、Oracle Linux Cloud Developerイメージを選択します。
Oracle Linux Cloud Developerには、包括的な開発環境を迅速に立ち上げるための最新の開発ツール、言語およびOracle Cloud Infrastructureソフトウェア開発キット(SDK)が用意されています。
Oracle Linux Cloud開発者イメージには、8GB以上のメモリーが必要です。
「シェイプ」セクションで、「シェイプの変更」をクリックします。次に、次を実行します:
「インスタンス・タイプ」では、デフォルトの「仮想マシン」を受け入れます。
「シェイプ・シリーズ」で、次のいずれかのオプションを選択します:
プロセッサ・タイプにこだわりがない場合は、「AMD」を選択し、VM.Standard.E4.FlexシェイプまたはVM.Standard.E3.Flexシェイプ(どちらでもかまわない場合)を選択します。
これらは、フレキシブル・シェイプです。OCPUとメモリーのデフォルト値をそのまま使用します。
Armプロセッサを使用してAlways Free対象のOCI Ampere A1コンピュート・インスタンスを作成するには、「Ampere」を選択し、VM.Standard.A1を選択します。
フレックス・フレキシブル・シェイプ。OCPUのデフォルト値(1OCPU)をそのまま使用します。
Oracle Linux Cloud Developerイメージを選択した場合は、「メモリー量(GB)」でスライダをドラッグして、インスタンスに8GBのメモリーを割り当てます。
それ以外の場合は、デフォルト(6GB RAM)をそのまま使用します。
Always Free対象のAMDプロセッサを使用してインスタンスを作成するには、「専門と前世代」を選択し、「VM.Standard.E2.1」を選択します。マイクロ・シェイプ。
「シェイプの選択」をクリックします。
「ネットワーキング」セクションで、インスタンスのネットワーク詳細を構成します:
「プライマリ・ネットワーク」では、「既存の仮想クラウド・ネットワークを選択」を選択したままにします。
<compartment_name>の仮想クラウド・ネットワーク: 作成したクラウド・ネットワークを選択します。
必要に応じて、「コンパートメントの変更」をクリックして、作成したクラウド・ネットワークを含むコンパートメントに切り替えます。
「サブネット」では、「既存のサブネットを選択」を選択したままにします。
<compartment_name>のサブネット: クラウド・ネットワークで作成されたパブリック・サブネットを選択します。
必要に応じて、「コンパートメントの変更」をクリックして、正しいサブネットを含むコンパートメントに切り替えます。
「パブリックIPv4アドレスの割当て」オプションを選択します。これにより、インスタンスへのアクセスに必要なインスタンスのパブリックIPアドレスが作成されます。
このオプションの選択で問題が発生した場合は、プライベート・サブネットではなく、VCNで作成されたパブリック・サブネットを選択していることを確認してください。
すべてのテナンシに、Always Freeコンピュート・インスタンスの2つのパブリックIPv4アドレスが付与されます。
2つを超えるAlways Freeインスタンスを作成する場合は、パブリックIPアドレスを割り当てずに作成できます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/5e9cc53a-b617-1549-e630-b0fefe00a251.png)


## SSH
「SSHキーの追加」セクションで、SSHキー・ペアを生成するか、独自の公開キーをアップロードします。次のいずれかのオプションを選択します:
キー・ペアを自動で生成: Oracle Cloud Infrastructureによって、インスタンスのRSAキー・ペアが生成されます。
「秘密キーの保存」を選択して、コンピュータに秘密キーを保存します。オプションで、「公開キーの保存」を選択して公開キーを保存します。
秘密キーにアクセスできるすべてのユーザーがインスタンスに接続できます。秘密キーをセキュアな場所に格納します。
OCIによって生成されたキー・ペアを使用するには、OpenSSHがインストールされているシステムからインスタンスにアクセスします。
OpenSSHは、Linux、MacOS、WindowsおよびWindows Serverの現在のすべてのバージョンにデフォルトで含まれています。
公開キー・ファイル(.pub)のアップロード: キー・ペアの公開キー部分をアップロードします。アップロードするキー・ファイルを参照するか、ボックスにファイルをドラッグ・アンド・ドロップします。複数のキーを指定するには、コマンド・キー(Mac)または[Ctrl]キー(Windows)を押したままファイルを選択します。
公開キーの貼付け: ボックスにキー・ペアの公開キー部分を貼り付けます。
SSHキーなし: SSHを使用してインスタンスに接続しない場合にのみ、このオプションを選択します。
公開キーを指定することや、インスタンスの作成後にOracle Cloud Infrastructureによって生成されたキー・ペアを保存することはできません。
「ブート・ボリューム」セクションで、すべてのオプションを選択解除したままにします。

## 「作成」をクリックします。
インスタンスがコンソールにプロビジョニング状態で表示されます。状態が「実行中」に更新されるまで、プロビジョニングに数分かかります。
ページをリフレッシュしないでください。インスタンスの実行後、接続を試行する前にオペレーティング・システムが起動するまでさらに数分かかります。
インスタンスのパブリックIPアドレスの取得
次のステップでインスタンスに接続するには、そのパブリックIPアドレスが必要です。
インスタンスのパブリックIPアドレスを取得するには:
インスタンス名をクリックして詳細を表示します。
「パブリックIPアドレス」および「ユーザー名」が詳細ページの「インスタンス・アクセス」の下に表示されます:
パブリックIPアドレスの場所
続行する前にパブリックIPアドレスをノートにとっておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/4d787fe9-9773-49bb-4aad-89824d14b6de.png)

## インスタンスへの接続
Secure Shell (SSH)接続を使用して、実行中のLinuxインスタンスに接続します。
ほとんどのLinuxおよびUNIX系オペレーティング・システムには、デフォルトでSSHクライアントがあります。
Windows 10およびWindows Server 2019システムには、Oracle Cloud Infrastructureによって生成されたSSHキーを使用してインスタンスを作成した場合に必要なOpenSSHクライアントが
含まれている必要があります。他のWindowsバージョンでは、PuTTYという無料のSSHクライアントをhttp://www.putty.orgからダウンロードできます。
ここでは、このチュートリアルで作成したインスタンスに接続する方法について説明します。
開始する前に
インスタンスのパブリックIPアドレスを知っています。Linuxインスタンスの起動を参照してください。
秘密キー・ファイルへのパスを知っています。
SSHを使用したLinuxインスタンスへの接続
SSHを使用してインスタンスにログインします。接続元のオペレーティング・システムに応じて、次のいずれかの方法を使用します。
UNIXスタイル・システムからLinuxインスタンスへの接続
OpenSSHを使用したWindowsシステムからLinuxインスタンスへの接続
PuTTYを使用したWindowsシステムからLinuxインスタンスへの接続
UNIXスタイル・システムからLinuxインスタンスへの接続
インスタンスの作成に使用されるOCI生成キー・ペアまたはキー・ペアを使用します。次に、次のステップを使用してOCI Linuxインスタンスに接続します。

## ターミナルを開きます。
キー・ペアの秘密キー・ファイルを見つけます。SSHキーのデフォルトのディレクトリの場所は、<your-home-directory>/.sshです。
次のコマンドを使用して、自分のみがファイルを読み取ることができるようにファイルのアクセス権を設定します:
現在のユーザーのみが読み取り専用アクセス権を持つように、秘密鍵ファイルのファイルアクセス権を設定します。
```
chmod 400 <private_key_file>
```
<private_key_file>は、アクセスするインスタンスに関連付けられた秘密キーを含むファイルのフルパスおよび名前です。
次のSSHコマンドを使用してインスタンスにアクセスします。
```
ssh -i <private_key_file> <username>@<public-ip-address>
```
<private_key_file>は、アクセスするインスタンスに関連付けられた秘密キーを含むファイルのフルパスおよび名前です。
<username>は、インスタンスのデフォルト・ユーザー名です。Oracle LinuxおよびRedhat Enterprise Linux互換イメージの場合、デフォルト・ユーザー名はopcです。
Ubuntuイメージの場合、デフォルト・ユーザー名はubuntuです。
<public-ip-address>は、コンソールから取得したインスタンスのIPアドレスです。
このインスタンスに初めて接続する場合は、キーのフィンガープリントを受け入れる必要があります。フィンガープリントを受け入れるには、yesと入力し、[Enter]を押します。
インスタンスのデフォルト・シェルに接続しています。
セッションが終了したら、シェル・プロンプトでexitと入力してセッションを終了します。

## 出くわしたエラー

```
$ ssh -i ssh-key-2025-01-21.key opc@129.*.*.*
The authenticity of host '129.*.*.* (129.*.*.*)' can't be established.
ED25519 key fingerprint is SHA256:fuFJ0+zFvwAFriCPGsB4iV8b1TGqZCthY58zc3g2JwE.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '129.*.*.*' (ED25519) to the list of known hosts.
opc@129.*.*.*: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

```

## 対処

oracle linux 8を諦める。ubuntuにする。

## できたインスタンス。

instance-20250121-1519Always Free
Availability domain:AD-2
Fault domain:FD-2
Region:phx
Launched:Tue, Jan 21, 2025, 06:25:00 UTC
Capacity type:On-demand
Virtual cloud network:vcn-20250121-1144
Launch mode:PARAVIRTUALIZED
Instance metadata service:Versions 1 and 2 
Operating system:Canonical Ubuntu
Version:22.04 Minimal
Image:Canonical-Ubuntu-22.04-Minimal-2024.10.06-0
Shape:VM.Standard.E2.1.Micro
OCPU count:1
Network bandwidth (Gbps):0.48
Memory (GB):1

## ssh接続

```
$ ssh -i .ssh/'ssh-key-2025-01-21(2).key' ubuntu@129.*.*.*
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1012-oracle x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

$ ls

$ pwd
/home/ubuntu

$ sudo apt update
Get:1 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Get:3 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:4 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2041 kB]
Get:6 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1395 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [321 kB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [2772 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [484 kB]
Get:10 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/main Translation-en [510 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [960 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [205 kB]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [37.6 kB]
Get:14 http://security.ubuntu.com/ubuntu jammy-security/multiverse Translation-en [8260 B]
Get:15 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [129 kB]
Get:16 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/restricted Translation-en [18.6 kB]
Get:17 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [14.1 MB]
Get:18 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/universe Translation-en [5652 kB]
Get:19 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [217 kB]
Get:20 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy/multiverse Translation-en [112 kB]
Get:21 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2276 kB]
Get:22 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [382 kB]
Get:23 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [2877 kB]
Get:24 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [501 kB]
Get:25 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1182 kB]
Get:26 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [289 kB]
Get:27 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [44.5 kB]
Get:28 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-updates/multiverse Translation-en [11.5 kB]
Get:29 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [67.7 kB]
Get:30 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-backports/main Translation-en [11.1 kB]
Get:31 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [28.9 kB]
Get:32 http://phx-ad-3.clouds.archive.ubuntu.com/ubuntu jammy-backports/universe Translation-en [16.5 kB]
Fetched 37.3 MB in 16s (2371 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
27 packages can be upgraded. Run 'apt list --upgradable' to see them.



```

以上。