Gitホスティングサービスに接続する手順

どのホスティングサービスでもやっていることはほぼ同じですが、解説等で伝える時にこの記事があると負担が減るのでまとめます。

この記事で得られる情報

  • 次のホスティグサービスに接続する方法

ssh鍵の生成

ターミナル等で実行します。
ログインするユーザーによってsshディレクトリの場所が変わるので、cdで移動するディレクトリは適宜変更してください。。

$ cd ~/.ssh/
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hiro/.ssh/id_rsa): (生成する鍵の名前入力)
Enter passphrase (empty for no passphrase): (ssh接続時に入力するパスワード指定)
Enter same passphrase again: (パスワードを再入力)
$ chmod 600 (生成する鍵の名前入力)

外部サービスにssh公開鍵を登録

次のコマンドを実行すると、公開鍵がテキストで出力されるのでそれをコピーします。

$ cat (生成する鍵の名前入力).pub

もし、mac等でpbcopyが使える環境であれば次でOK

$ cat (生成する鍵の名前入力).pub | pbcopy

その後、それぞれのサービス毎に登録方法が異なりますので、サービス毎に登録してください。

github

github.com

ユーザーのサムネイルマークを押下するとメニューが開きますので、「Settings」を選択。   f:id:nakahashi_h:20171214115319p:plain

サイドメニューから「SSH and GPG Keys」を選択、右上の「New SSH key」ボタンを押下。 f:id:nakahashi_h:20171214115450p:plain

次の画像のように鍵のタイトルと公開鍵をペースとして、「Add SSH key」ボタンを押下 f:id:nakahashi_h:20171214115959p:plain

bitbucket

bitbucket.org

ユーザーのサムネイルマークを押下するとメニューが開きますので、「Bittbucket 設定」を選択。   f:id:nakahashi_h:20171214125135p:plain

サイドメニューから「SSH鍵」を選択、右カラムにある「鍵を追加」ボタンを押下。 f:id:nakahashi_h:20171214125247p:plain

次の画像のように鍵のラベルと公開鍵をペースとして、「鍵を追加」ボタンを押下 f:id:nakahashi_h:20171214125553p:plain

AWS Codecommit

aws.amazon.com

個別のIAMのユーザーに対して設定をしますので、事前にユーザーの作成が必要です。
また、codecommitを使う場合は、IAMユーザーに対してポリシー設定が必要ですので、ドキュメントを確認してユーザーを設定してください。

aws.amazon.com

ダッシュボードの検索窓で「IAM」と入力して、IAMを開く。   f:id:nakahashi_h:20171214123530p:plain

IAMのダッシュボードのサイドメニューの「Users」を選択し、ユーザー一覧からGitを扱うユーザーを押下
f:id:nakahashi_h:20171214123650p:plain

ユーザーのSummary画面から、「Security credentials」タブを選択。
f:id:nakahashi_h:20171214124021p:plain

下にスクロールすると「SSH keys for AWS CodeCommit」があるので、「Upload SSH public key」ボタンを押下。   f:id:nakahashi_h:20171214124219p:plain

ポップアップでSSH鍵を入力する画面が開くので、ペーストして「Upload SSH public Key」を押下。
f:id:nakahashi_h:20171214124441p:plain

ローカルのSSH接続情報を設定する

sshデレィレクトリにある「config」ファイルに接続情報を設定します。   もし、存在しない場合は「config」という名前でファイルを追加してください。

github

Host github github.com
    HostName github.com
    IdentityFile ~/.ssh/(SSH秘密鍵のファイル名)
    User git

bitbucket

Host bitbucket.org
    HostName bitbucket.org
    IdentityFile ~/.ssh/(SSH秘密鍵のファイル名)
    User git

AWS Codecommit

Userは、IAMに乗っています。
SSH公開鍵の追加すると、「SSH keys for AWS CodeCommit」に新しい行が追加されます。
追加された行の「SSH Key ID」がUserに当たります。

f:id:nakahashi_h:20171214131919p:plain

Host git-codecommit.*.amazonaws.com
    IdentityFile ~/.ssh/(SSH秘密鍵のファイル名)
    User (取得したSSH Key ID)

ssh接続の疎通確認

上記で設定したconfigの内容が正しいか確認します。
ターミナル等で、先ほど設定したconfigファイルの「Host」に接続します。
エラーでなければ以降は接続できます。

github

$ ssh github.com

bitbucket

$ ssh bitbucket.org

AWS Codecommit

リージョン情報が入りますので、日本(ap-northeast-1)で実施する場合は下記になります。

$ ssh git-codecommit.ap-northeast-1.amazonaws.com