現在、ポートフォリオにAWSを導入するため『Amazon Web Services 基礎からのネットワー&サーバー構築』で勉強中。その3章で少しつまづいた所の記録。
詳細
EC2でインスタンス作成後、MacのターミナルからSSHを使いインターネット側からインスタンスに接続する。 __つまずきポイント__ 1. 「.pem」の拡張子ファイルの扱い。 2. キーペアファイルが見つからない状態1.「.pem」の拡張子ファイルの扱い
躓くまでの流れ
1. インスタンス作成時に「.pem」と言う拡張子を持つキーペアファイルをダウンロード。 2. ダウンロードしたので、とりあえず開いてみようとする。すると画像1が表示される。 3. 躍起になって開こうと調べる。うまく見つからない。 4. 落ち着いて、教科書見直す。すると、そもそもそんな必要がなかった。結論
キーペアファイルは後の、SSHでの接続に必要なファイルであり、現状開く必要はない。備考
__pemファイルって何?__ 調べてみたが、しっかりとは理解できなかった。現状わかった部分をまとめる。 * 鍵や証明書を格納するファイル * Base64でエンコードされている2.キーペアファイルが見つからない状態
躓くまでの流れ
1. インスタンス作成終了 2. インスタンスにインターネットからアクセスするためパブリックIPアドレスとキーペアファイルを使いMacのターミナルからコマンド実行$ ssh -i ******.pem ec2-user@[パブリックIPアドレス]
3. 「*****.pem」という名前のファイルは存在しないよって言われる。
$ Warning: Identity file *****.pem not accessible: No such file or directory.
4. キーペアファイルをダウンロードから移動させてないことに気づく。ではどこに移動させればいいのか。これについては教科書に書いてない。なので調べると、隠しファイルの「.sshディレクトリ」に移動すれば良いらしい。
※隠しファイルの表示方法
ターミナルでコマンド実行
$ defaults write com.apple.finder AppleShowAllFiles TRUE 隠しファイル表示
$ killall Finder Finderのを一度終了
$ defaults write com.apple.finder AppleShowAllFiles FALSE 隠しファイル非表示
5. 再度インターネットからアクセスするコマンド実行。(今回はファイルのルートも追加)
$ ssh -i ~/.ssh/*****.pem ec2-user@00.000.00.00
6. また、「*****.pem」という名前のファイルはないと言われる。移動したのでないはずがない。また調べる。このサイトを見つける。https://dev.classmethod.jp/cloud/aws/aws-beginner-ec2-ssh/
どうやら権限の問題なのかもと仮説を立てる。
7. サイトにあった以下のコマンドを実行してみる。このコマンドを権限の範囲を操作するコマンド。
$ chmod 600 ~/.ssh/秘密鍵名.pem
※ 「chmod」というコマンドについて以下のページが参考になる。
https://qiita.com/ntkgcj/items/6450e25c5564ccaa1b95
8. 期待どうりの返答が帰ってきた!!成功!!
The authenticity of host 'パブリックIPアドレス' can't be established.
ECDSA key fingerprint is [見せていいのかわからないので隠します。].
Are you sure you want to continue connecting (yes/no)? yes
結論
1. キーペアファイルの置き場所の変更 2. キーペアファイルの権限の変更以上を行えば良い。