LoginSignup
8
10

More than 5 years have passed since last update.

AWS EC2にGITのリポジトリを作ってSouceTreeからSSHでアクセスする

Last updated at Posted at 2018-07-20

やりたいこと

GitのリモートリポジトリをEC2上に構築したかった。
アパッチは使っていないし、SSHで鍵認証のアクセスも。
実際EC2側の準備はすぐに済んだのだが、WindowsのGitからSSHしに行くところでかなりはまった

自分用の手順書みたいなものなので、
環境次第で動かないことはザラだと思いますが、
同じように困っている人の一助になれば幸いです。

EC2側の準備

まずはGit用のユーザーを作成して、
ホームディレクトリにGitリポジトリを置くディレクトリを作る
※ユーザー作成後は全てGit用ユーザーでコマンドを実行すること

useradd gituser
passwd gituser

su gituser

#リポジトリを置くディレクトリ名はhoge.gitにする慣例があるとかないとか
mkdir /home/giuser/test.git 
cd /home/giuser/test.git

#--bare を付けるとワークディレクトリを持たない.gitのみのリポジトリになる
#プッシュ先のリモートリポジトリとして作成する場合は基本的には--bareを付ける 
git init --bare 

これでGitの準備はOK
次はSSH鍵を作る

 ssh-keygen -t rsa

このコマンド入力後、パスフレーズの入力を求められるが
面倒なので入力せずエンターでパスする。
すると、
/home/gituser/.ssh/id_rsa
=>秘密鍵(クライアントで使うやつ)
/home/gituser/.ssh/id_rsa.pub
=>公開鍵(サーバーに置いておくやつ)

の二つのファイルが作られる

EC2のCentosのインスタンスでは公開鍵は
/home/username/.ssh/authorized_keys
というファイル名で保存される必要があるので、
そのようにするのと、
鍵関係のパーミッションは規定が決まっているのでそちらも変更する

mv /home/gituser/.ssh/id_rsa.pub /home/gituser/.ssh/authorized_keys
chmod 700 /home/gituser/.ssh/
chmod 600 /home/gituser/.ssh/authorized_keys

ここまででEC2側の設定は終わり。

クライアント側の設定

クライアント側ではGitに秘密鍵の場所を設定する必要がある
SouceTreeではPutty及びPuttyKeygen、pagentなどを使った
SSH接続が推奨されているようであるが、

私の環境ではなぜか鍵の認証がうまくいかなかった・・・・

なので、PuttyではなくOpenSSHを使用してSSH接続をする。

気が向いたらスクショをあげるが、今は箇条書きで

・SSHクライアントPuttyからOpenSSHに変更する
・GitクライアントをSouceTree組み込みのものでなく、システムで使用しているものに変更
=>Windows用Git単体でインストールしておく
  Windows用GitにはOpenSSHが組み込まれている。
・C:\Program Files\Git\etc\sshみたいな感じのディレクトリがあるはず
 ここのssh_configというファイルを下記の様に編集または追記

Host xxx.xxx.xxx.xxx 接続先 
   HostName xxx.xxx.xxx.xxx ここも接続先
   Port 22 SSHポート番号
   User gituser SSHログインユーザー
   IdentityFile C:\path\to\key 公開鍵へのパス

ソースツリーからでも、GitBashからでもいいのでクローンしてみる

git clone ssh://gituser@xxx.xxx.xxx.xxx/home/gituser/test.git

以上。

8
10
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
8
10