概要
AWSのサーバーにssh接続する際は、ご自身のディレクトリの配下に隠しファイル「.ssh」を作成し、その中にAWSの設定を書いておくと、毎回以下のようなものを書かなくて済みます。
Terminal
ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
.sshディレクトリの作成と下準備
Terminal
# 作業したいディレクトリかどうかを確認してください
[~@~ your_dir]$ pwd
# ディレクトリを作成します
[~@~ your_dir]$ mkdir .ssh
# cd .ssh と同義。「!$」は、直前行った引数を指すので、今回は「.ssh」を指す
[~@~ .ssh]$ cd !$
# aws.key, configファイルを作成します
[~@~ .ssh]$ touch aws.key && touch config
aws.keyとconfigファイルの作成と設定
①ディレクトリ構成を確認します
②aws.keyに、ご自身がssh接続で使用しているpemファイルをコピペします
③configファイルに設定を書き込みます
①ディレクトリ構成を確認します
現状以下のようなファイル構成になっていると思います。
Terminal
[~@~ .ssh]$ ls -la
-rw------- 1 ~ ~ ~ ~月 ~ ~:~ aws.key
-rwxr-xr-x 1 ~ ~ ~ ~月 ~ ~:~ config
②aws.keyに、ご自身がssh接続で使用しているpemファイルをコピペします
ご自身がssh接続で使用しているpemファイルをコピーして、aws.keyに貼ってください。
「-----BEGIN RSA PRIVATE KEY-----」から「-----END RSA PRIVATE KEY-----」まで、すべて貼ってください。
.ssh/aws.key
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAhioJPY7kJGHQ1m5dR+
~~~~~~(中略)~~~~~~
-----END RSA PRIVATE KEY-----
③configファイルに設定を書き込みます
.ssh/config
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
IdentityFile .ssh/aws.key
User ec2-user
Host <HOST名>
Hostname <IPアドレス>
以下、記述例を記載してます。
・Host名を使用して、ssh接続します。なので、ご自分の好きな名前を設定してください。
・複数ある場合は、同じように設定していきます。
.ssh/config
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
IdentityFile .ssh/aws.key
User ec2-user
Host live-web01
Hostname 192.168.xxx.xx
Host live-web02
Hostname 127.0.xxx.xx
Host live-batch
Hostname 52.168.xxx.xx
ssh接続する
設定したので、ssh接続しましょう。
Terminal
# 作業ディレクトリにいることを確認してください。
[~@~ your_dir]$ pwd
your_dir
# ssh -F .ssh/config <Host名> で接続できます。上記で設定したlivew-web01に接続したい場合は、
[~@~ your_dir]$ ssh -F .ssh/config live-web01
これで、ssh接続が簡単になりました!