AWSのEC2からsshでgit cloneを行う方法

AWSのEC2からsshでgit clone を行う方法を紹介します。

またこの手でググると多くの場面で github の本体に対してsshの設定を行うことを多く見受けられますが今回はRepositoryに対して適用をするようにします。

前提条件

前提条件

・既にRepositoryが存在している

・既にEC2のインスタンスを立てている

EC2の設定

秘密鍵・公開鍵の作成

EC2インスタンスにログインしておきます。

既に.sshディレクトリと権限設定を済ませている前提条件で進めます。

[sample-user@sample-web01 .ssh]$ pwd
/home/sample-user/.ssh

今回は github との連携になるので、鍵の名前を id_rsa_github_ec2 とします。

[sample-user@sample-web01 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sample-user/.ssh/id_rsa): id_rsa_github_ec2
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_github_ec2.
Your public key has been saved in id_rsa_github_ec2.pub.
The key fingerprint is:
SHA256:GEvStcW4w+eQqK8e/U5YctCycjUZ2X9KpbKITTW9+iZ sample-user@sample-web01
The key's randomart image is:
+---[RSA 2048]----+
|        o+ooo...+|
|     . o.=oo.. o.|
|    . *o*o. ..+. |
|     o.O*... oo. |
|    ..* S=. E..  |
|    .o + o.. +   |
|     .. o .   .  |
|     ... o       |
|    ...  .o      |
+----[SHA256]-----+
[sample-user@sample-web01 .ssh]$ ls
authorized_keys  id_rsa_github_ec2  id_rsa_github_ec2.pub  known_hosts

config ファイルの作成

.ssh ディレクトリに config ファイルを作成する必要があります。

[sample-user@sample-web01 .ssh]$ vi config
Host github
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_github_ec2

config ファイルの権限設定

config ファイルが作成できたら権限も変更しておきます。

[sample-user@sample-web01 .ssh]$ ls -l | grep config
-rw-rw-r-- 1 dev dev  100  1月 16 11:40 config
[sample-user@sample-web01 .ssh]$ chmod 600 config
[sample-user@sample-web01 .ssh]$ ls -l | grep config
-rw------- 1 dev dev  100  1月 16 11:40 config

600 になっていることを確認できました。

github の設定

公開鍵を登録する

公開鍵を登録するために、Repositoryのsettings へアクセスします。

https://github.com/<ユーザー名>/<リポジトリー名>/settings/keys

以下のような見え方になっていると思います。

この時、右上の Add deploy key をクリックします。

次の画面では Title は好きに決めていただいて、Key には EC2 インスタンスで ssh-keygen -t rsa で生成された 公開鍵( id_rsa_github_ec2.pub )の中身を貼り付けます。

Allow write access に関しては EC2 側から git push する場合にチェックを入れます。

今回は git clone を目標としており、変更点を EC2 側からチェックを入れて push することもないのでチェックは入れないまま進めます。

無事登録できた場合、デフォルト設定だと github の登録済みのメールアドレスに通知が飛んできます。

github 接続確認

接続確認コマンドを利用して github へ ssh 接続ができる確認を行います。

[sample-user@sample-web01 .ssh]$ ssh -T git@github.com
Hi <ユーザー名>/<リポジトリー名>! You’ve successfully authenticated, but GitHub does not provide shell access.

成功しました。

git clone を行う

git clone を行なってソースコードを持ってきます。

[sample-user@sample-web01 .ssh]$ git clone git@github.com:<ユーザー名>/<リポジトリー名>.git

何も問題がなければ clone されます。

確認

github 側では以下のようになっていますが、git clone が無事成功すると鍵マークが緑色に変わり、またNever used (一度も未使用)が更新されて利用された日時が表示されるようになります。

以上。

最後に

いかがでしたでしょうか。

以上が、「AWSのEC2からsshでgit cloneを行う方法」の紹介記事になります。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です