Bitbucket、公開鍵・暗号鍵を設定する

RailsチュートリアルのBitbucketの設定項目がありましたが、初心者の人にはちょっと難しいと思ったので、ここにメモ。



1, 既に公開鍵が作成されているか確認

cat ~/.ssh/id_rsa.pubを実行して公開鍵が既に作成されいるか確認する。作成されていなければ、No such file or directory1と標示されます。

既に作成されている場合は、3にジャンプしてください。

$ cat ~/.ssh/id_rsa.pub
  cat: /home/vagrant/.ssh/id_rsa.pub: そのようなファイルやディレクトリはありません





2, SSH認証の公開鍵と秘密鍵をつくる

SSH Keyを作成する。ssh-keygen -t rsa -C aaa@mailを実行。

いろいろ聞かれるがEnterを押す。

      $ cd ~/.ssh
~/.ssh$ ssh-keygen -t rsa -C aaa@mail ←自分のメールアドレス
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/vagrant/.ssh/id_rsa.
Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.
The key fingerprint is:
******************************************************* aaa@mail
The key's randomart image is:
+---[RSA 2048]----+
|      .    .+.. o|
|     +   . . + +.|
|    . + o * . *oo|
|     + o + B +.Xo|
|    . + S + +.B.+|
|     . . o . ooo.|
|       E    ..o+o|
|        o    +. o|
|         .... .  |
+----[SHA256]-----+

鍵の生成がが完了したら2つのファイルができます。

id_rsa: 秘密鍵 
id_rsa.pub: 公開鍵、 Bitbucketに登録する

ファイルのパーミッションを変更して、セキュリティを変更します。

$ chmod 600 id_rsa

PC側へのSSHキーの設定

$ vim ~/.ssh/config

~/.ssh/configのファイルの末尾に次の内容を追加。 コピペしたら:wqを実行して保存。間違ったりして保存したくない場合は:q!を実行。 Escキーを押したら:が押せるはずです。

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/id_rsa
  User git





3, Bitbucketに公開鍵を登録する

左下にある人のアイコンを選択するとBitbucketの設定が標示されるので、それを選択します。

Bitbucket、公開鍵・暗号鍵を設定する

セキュリティにあるSSH鍵を選択。

Bitbucket、公開鍵・暗号鍵を設定する

鍵を追加クリック。

Bitbucket、公開鍵・暗号鍵を設定する

ラベルには適当な名前をつけ以下のコマンド実行し、keyにペーストします。

Bitbucket、公開鍵・暗号鍵を設定する

$ cat ~/.ssh/id_rsa.pub | xclip -sel clip

bash: xclip: コマンドが見つかりませんとでたら、とりあえずはこれでもイケる。 ssh-rsaからメールアドレスのまで全部をコピーする。

~$ cat ~/.ssh/id_rsa.pub
ssh-rsa
**************************************************************************
**************************************************************************
aaa@mail

接続できるか確認

途中でAre you sure you want to continue connecting (yes/no)?と聞かれますので、yesと答える。

$ ssh -T git@bitbucket.org

logged in as アカウント名.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

問題なく接続されていることを確認。

See Also