こんにちは!
今回は仕事でAWSを使うことになり、右も左もわからない僕が苦戦したことをつづろうと思います。
AWSのSSH接続についてです。Linuxもほとんど知らなかったので本当に苦労しました。
わからない人の参考になれば幸いです。
環境
Mac Book Pro
初期のターミナルです。
筆者の知識レベル
Linux・AWS未経験
プログラム経験1年
苦戦したところ:前提知識編
①公開鍵と秘密鍵とは??
まず、公開鍵と秘密鍵については、うっすら学校で習ったのを覚えていましたが、こちらのサイトでもう一度知識を仕入れました。
https://qiita.com/aiandrox/items/98ad9b7551481d890916
②AWSの単語がわからない
そしてまずAWSで出てくるEC2などの単語もよくわからなかったので、こちらのUdemyの無料の動画を参考にしました。
これが無料はすげええ。。。。
https://www.udemy.com/course/aws-cloud-tech/learn/lecture/29398522?start=15#overview
苦戦したところ:実際の作業編
そして実際に作業をしました!参考にしたサイトはAWS公式サイトの
https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up-ssh-unixes.html
①鍵は作れたが使い方がわからない
会社の方に公開鍵(.pubという拡張子)の方を渡すフローだったみたいで、渡したらAWS上で登録してくれました!
おそらくステップ3の手順3~6
そしてステップ3の手順7のSSH Key ID(例:APKAEIBAERJR2EXAMPLE)というものを取得しました!
②~/.ssh ディレクトリに設定ファイルを作成とは???
ここがすごく引っ掛かりました。「拡張子は何??」、「~/.sshが指す場所は??」
しかしとりあえず読み進めてみると、どうやら"config"というファイル名のファイルを"~/.ssh"のパスに作成すれば良いということがわかった。
そこで
1.configファイルの作成
cd ~/.ssh
touch config
cdコマンドで該当のディレクトリまでいき、touchコマンドでconfigファイルを作成しました!
2.手順8の情報を書き込む
vi config
上のコマンドでファイルを開くモードになり画面が切り替わります!
そこに
Host git-codecommit.*.amazonaws.com
User APKAEIBAERJR2EXAMPL(先ほどのSSH key ID)
IdentityFile ~/.ssh/codecommit_rsa(作った鍵のファイル名の拡張子はなし)
上記の情報をメモか何かで作成して貼り付けます!無理だったら“i”とか押すと挿入モードになるらしい。
そして、
:wq
と入力すると保存して元の画面に戻ってくれます!
③手順10のコマンド
手順9は何事もなく実行完了
手順10でも引っ掛かりました。
まず
ssh git-codecommit.us-east-2.amazonaws.com
このコマンドの"us-east-2"の部分が自分の該当する地域のコードではなかった!!!!
確認方法はAWSにログイン→最初の画面の右上に東京とか大阪とかの地名が入っているタブの▼をクリック!→そこの右の列の値がこのコマンドに入力する値です。
参照URL:https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/regions.html#regions-fingerprints
その後、鍵を作成する際に入力したパスワードが求められ入力すると成功画面が出てくる。
④Permission denied (public key)という謎のエラー表示
③を乗り越えて実行すると
Permission denied (public key)
の表示、、、、絶望、、、
そこで原因を究明したところ
1.configファイルの場所を間違えていた
わからずにconfigを作っており、先ほどの~/.sshにconfigを作成していなかった
ユーザー直下の全然違うところに作っていました。
2.configファイルに書き込む鍵のパスが間違っていた
自分が作ったファイル名が"ssh_key"だったが
IdentityFile ~/.ssh/codecommit_rsa
のままだったので、
IdentityFile ~/.ssh/ssh_key
に変更した
cat ~/.ssh/codecommit_rsa.pub
cat ~/.ssh/codecommit_rsa
で内容が確認出来たらOK。ファイルがありませんと出たら、鍵を探して"~/.ssh"に移動させる
3.~/.sshに入ってから実行していなかった
cd ~/.ssh
で入ってから実行する
最後に
また仕事の中の環境構築でわからないことがあればこうやって記していきたいと思います!!!
アウトプットとしてもいいなと思いました。
いいねや保存をしてもらえると励みになります。