LoginSignup
0
0

More than 3 years have passed since last update.

EC2インスタンスを起動してからgithub連携できる様になるまでの手順

Last updated at Posted at 2020-07-05

はじめに

EC2インスタンスを起動してからgithubと連携できる様になるまでの手順を、自分が疑問に思ったことをQ and A形式で掲載します。
至らない点も多々あると思いますがよろしくお願いします!

対象者

  • 初学者
  • AWSを学習中の方
  • シェル(ssh)でAWSのEC2インスタンスに接続できた方

この記事で得られること

  • AWSでgithubと連携するまでの手順
  • パッケージマネジャ(yum)の概要

開発環境

  • Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type
  • ngnix
  • ruby 2.7.1
  • rails 6.3.1

前提

Q.なぜ連携(なぜssh認証する)必要があるのか?
A.githubでは自分のアカウントを使用してサーバーにユーザーとしての認証を行なっています。
同様に、EC2インスタンスという、githubから見て「誰なのか分からない・・・」という状態を「誰なのか分かる!」という状態にします。

また、git clone中にセキュリティ観念上、悪意あるデータを通信中に書き込まれる、という可能性がある。通信をssh通信で暗号化することにより、この様なことが防げるメリットがある。

手順(コードのみ)

  1. [ec2-user@ElsticIPアドレス]$ sudo yum -y update

  2. [ec2-user@ElsticIPアドレス]$ sudo yum install git

  3. [ec2-user@ElsticIPアドレス]$ git version # gitがインストールされているか確認

  4. [ec2-user@ElsticIPアドレス .ssh]$ ssh-keygen -t rsa -b 4096
    .sshディレクトリで実行!!
    途中で鍵の名前など設定する入力箇所があるが、全て何も入力しないでenter(3回)を押せばOK。デフォルトの鍵の名前になる。

  5. [ec2-user@ElsticIPアドレス]$ cat ~/.ssh/id_rsa.pub # 表示された文字列を全てコピーする

  6. 以下のURLにアクセス
    https://github.com/settings/keys

  7. SSH Keys欄にて、公開鍵のタイトル(自由に入力してOK)と公開鍵の内容(5.でコピーした内容)をペーストする。

  8. [ec2-user@ElsticIPアドレス]$ ssh -T git@github.com
    ※以下の文言が表示されればOK。yesかno問われたら全てyes

Hi ! You've successfully authenticated, but GitHub does not provide shell access.

この工程が終わればOKとなります!git cloneができる様になります。

捕捉知識

Q.sudo yum -y updateって何? 何でupdateするの?

A. yumはLinux向けのパッケージマネジャの1つです。
パッケージマネジャとは、様々なアプリケーションやソフトの管理を行うソフトです。
このパッケージマネジャではセキュリティ等に関するソフトも管理されており、抽象的な言い方をすれば「yumにソフト管理を委託している」ということになります。
定期的にupdateすることで、EC2インスタンス(Linux)のメンテナンスができます。

Q. [ec2-user@ElsticIPアドレス .ssh]$ ssh-keygen -t rsa -b 4096で鍵名を設定しないのはなぜ?

A. 鍵名が「id_rsa.pub」で作成されるからです。それ以外の名前で鍵を作成すると[ec2-user@ElsticIPアドレス]$ ssh -T git@github.comを行うために、~/.ssh/configファイルで別途設定を行う必要があります。そのため、初学者向けの手法と言えるかもしれません。

Q. 公開鍵と秘密鍵の使い方がよく分からない
A. 私も詳細分からないのですが、ひとまず公開鍵⇨サーバー外でも公開して良い鍵、秘密鍵⇨サーバー外に出してはならない、と覚えておきましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0