Macで.pemを使ってAmazon EC2インスタンスへSSH接続する方法

最近Amazon EC2に「○○.pem」ファイル(キーペア)を使ってSSH接続する必要があったので、接続手順を備忘録として残しておきます。
キーペア(.pemファイル)
EC2では、インスタンス作成時にキーペアと呼ばれる接続に必要なファイルを作成します。
作成したキーペアは紛失すると再発行ができなくてログインできなくなるので、扱いには注意が必要です。
「○○.pem」の形式でファイルとしてダウンロードされます。
キーペアの配置
ダウンロードしたキーペアを「~/.ssh/keys」にコピーします。
コピーはターミナルで「cp [コピー元のパス] [コピー先のパス]」のコマンドを実行すればコピーできます。
$ cp ~/Downloads/○○.pem ~/.ssh/keys次にコピーしたファイルの権限設定を行います。
デフォルトだと「644」に設定されているようですが、キーペアは権限が多く付与されすぎているのもよくないみたいです。
とりあえず「600」に変更します。
$ chmod 600 ~/.ssh/keys/○○.pemSSHログイン
キーペアの配置ができたら、sshコマンドを使って接続します。
コマンドは「ssh [ユーザー]@[IP] -i [キーファイルの指定]」の形式で実行します。
ユーザーはデフォルトだと「ec2-user」で、IPはインスタンスの「説明」タブ内にある「IPv4 パブリック IP」を入力します。
$ ssh ec2-user@XX.XX.XX.XX -i ~/.ssh/keys/○○.pemこれで無事に接続できました。
キーペアを無くしてしまうと、インスタンスごと作り直す必要があるみたいなので注意が必要です。
「.ssh」配下にしかない状態だと、Macが壊れた場合などに取り返しのつかないことになります。
コピー元のファイルをどこかに保管しておくようにしましょう。

ウェブ上でLaTeXで数式をキレイにプレビューするJavaScriptライブラリ「MathJax」
コーディング時にちゃんと意識したい複数語の連結方法一覧(キャメルケース・スネークケース・ケバブケース)
Visual Studio Codeでファイル差分の比較を行う方法
JavaScriptで特定のOSやブラウザの判定を行う方法
PubSubHubbubを利用してWebサイトの更新をリアルタイムに通知しよう
iOS Safariで指定したフォントサイズにならない場合の対処法
Visual Studio Codeで簡易的なローカルサーバーを起動して、コード保存時に自動でブラウザをリロードする拡張機能「Live Server」
CSSの読み込みで「its MIME type (‘text/html’) is not a supported stylesheet MIME type」エラーが表示されて読み込みができない場合の解決方法
JavaScriptのテンプレートリテラル内で条件分岐を行う方法
Dart Sassの変数の基本的な使い方|Dart Sass入門
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」