LoginSignup
1
2

More than 3 years have passed since last update.

GitKrakenでCodeCommitにSSHで繋ぐ方法

Posted at

はじめに

普段、GitLabを使っているんですが、この度デプロイ自動化しようぜって話になったので、CodeCommitにソースをpushすることになったんですよ。
ふつう、 aws-cli でやるのがいいのでしょうが、ゆくゆくはGitLabを廃してCodeCommitに一本化したい気持ちもあり、GitKrakenで簡単に操作できるといいなあと思った次第です。

やり方

とりあえず、CodeCommitのリポジトリと、そこにつなげるIAMユーザーは作ってあるものとして話を進めます。
できてないときはここと見ながらやると良いでしょう。
AWS CLI を使用していない SSH ユーザーの セットアップ

1. IAMユーザーにSSH公開鍵を登録する

IAMでユーザーを作ったらユーザーの概要の画面を出しましょう。そこの 認証情報 というタブをクリックします。
image.png
すると真ん中の方に SSHパブリックキーのアップロード というボタンが有るはずです。
ここをクリックするとポップアップが出てきて、そこに公開鍵をペーストしてあげて SSHパブリックキーのアップロード という青いボタンをクリックすると、 SSHキーID とか項目のついた表が出てくるはずです。
そこの SSHキーID がSSH接続するときのユーザー名になります。
image.png

2. GitKrakenにリモートリポジトリを登録する

まずは接続用のURLを取ってきましょう。CodeCommitのリポジトリのここから取れます。
image.png

GitKrakenの Add Remote ってところをクリックすると簡単にリモートリポジトリを登録することができます。
image.png
でこのときに出てくるウィンドウに接続情報を入れてやるわけですが、 Pull URLPush URL に入れるURLに一工夫が必要になります。
image.png
CodeCommitはなぜか ユーザー名@ホスト名:リポジトリパス のいわゆる SSH URL が使えません。
なので ssh:// から始まるURLを登録するわけですが、このままやるとこのあとGitKrakenからユーザー名を聞かれ、そこにさっきのSSHキーIDを入れてしまうと、GitKraken側で勝手に SSH URL に変換されてしまってFETCHもPUSHもできなくなってしまいます。なので、以下の感じのURLを登録してやればよいのです。

ssh://{SSHキーID}@{リポジトリのURL}

おわりに

まさかここで謎にハマってしまうとは思いませんでした……CodeCommitがにくい……

1
2
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
1
2