どのホスティングサービスでもやっていることはほぼ同じですが、解説等で伝える時にこの記事があると負担が減るのでまとめます。
この記事で得られる情報
- 次のホスティグサービスに接続する方法
- github
- bitbucket
- aws codecommit
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
ユーザーのサムネイルマークを押下するとメニューが開きますので、「Settings」を選択。
サイドメニューから「SSH and GPG Keys」を選択、右上の「New SSH key」ボタンを押下。
次の画像のように鍵のタイトルと公開鍵をペースとして、「Add SSH key」ボタンを押下
bitbucket
ユーザーのサムネイルマークを押下するとメニューが開きますので、「Bittbucket 設定」を選択。
サイドメニューから「SSH鍵」を選択、右カラムにある「鍵を追加」ボタンを押下。
次の画像のように鍵のラベルと公開鍵をペースとして、「鍵を追加」ボタンを押下
AWS Codecommit
個別のIAMのユーザーに対して設定をしますので、事前にユーザーの作成が必要です。
また、codecommitを使う場合は、IAMユーザーに対してポリシー設定が必要ですので、ドキュメントを確認してユーザーを設定してください。
ダッシュボードの検索窓で「IAM」と入力して、IAMを開く。
IAMのダッシュボードのサイドメニューの「Users」を選択し、ユーザー一覧からGitを扱うユーザーを押下
ユーザーのSummary画面から、「Security credentials」タブを選択。
下にスクロールすると「SSH keys for AWS CodeCommit」があるので、「Upload SSH public key」ボタンを押下。
ポップアップでSSH鍵を入力する画面が開くので、ペーストして「Upload SSH public Key」を押下。
ローカルの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に当たります。
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