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が壊れた場合などに取り返しのつかないことになります。
コピー元のファイルをどこかに保管しておくようにしましょう。

gulpでPostCSSを使う方法
Visual Studio Codeで「.html」拡張子以外のファイルでもEmmetを使えるようにする
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
スクロール時に表示領域に画面がくっつくようになる処理をCSSだけで実現する「scroll-snap」
Vue.jsで値段を表示するときに3桁ごとにカンマを入れる方法
Dart Sassを使う上で1番基本的なネストやアンパサンドの書き方|Dart Sass入門
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
gzip圧縮をしてウェブサイトの表示スピードを上げる方法
Vue CLIでVue.jsの開発環境をセットアップするまでの流れ
gulpのwatch機能を使って、監視ファイルに変更があった時にタスクを実行する
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finder 8の一括名称変更で使える設定サンプルまとめ
Search Consoleに表示される「ウェブに関する主な指標」のCLSの意味と、不良時の改善方法
Macのバッテリー効率を上げるアプリ「Endurance」
WordPressで既に公開済みの記事の更新を、指定した日付に反映する方法「PublishPress Revisions」
Alfredを最大限活用する、ブラウザのブックマーク管理方法について
ATOKで選択した単語の意味を素早く調べられる「ATOKイミクル」の使い方
Google Maps APIを使ってGoogle Mapsをウェブサイトに表示させる方法
WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法
MagicPrefsを使ってMagic Mouseのカスタマイズを行う
2019年2月時点でのMacアプリのダークモード対応状況