4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Git Bash】SSHキーの作成&公開鍵の登録(Bitbucketを例に)

Last updated at Posted at 2021-12-12

環境

  • Microsoft Windows 10.0.22000.318(21H2)
  • Git Bash 2.34.1.windows.1

手順

1. 鍵を入れるフォルダに移動

$ cd ~/.ssh

2. 鍵を生成する

ssh-keygen コマンドで鍵を生成する。

$ ssh-keygen -t ed25519 -C xxx@xxx.xxx -f ~/.ssh/id_ed25519_bitbucket

ssh-keygenの主なオプション

その他のオプションについてはこちら

オプション 説明
-t [方式] 作成する鍵の暗号化形式を「rsa」(デフォルト)、「dsa」「ecdsa」「ed25519」から指定する
-b [ビット数] 作成する鍵のビット数を指定する(RSA形式の場合、デフォルトは2048bit)
-f [ファイル名] ファイルを指定する(生成または読み出すファイルを指定)。ただし、併用するオプションによって意味が変化する(通常は鍵ファイル)
-C [コメント] コメントを指定する(デフォルトは「ユーザー名@ホスト名」。「-C ""」でコメントを削除)

こちらこちらを参考にすると、RSA 鍵より ED25519 鍵の方が良さそうなので、ここでは、暗号化形式を「ed25519」にした。

また、例は Bitbucket 用なので、コメントは Bitbucket に登録したメールアドレス、ファイル名は id_ed25519_bitbucket とした。(特に指定しない場合は -f 以降不要)

実行例
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/USERNAME/.ssh/id_ed25519_bitbucket
Your public key has been saved in /c/Users/USERNAME/.ssh/id_ed25519_bitbucket.pub
The key fingerprint is:
SHA256: ... xxx@xxx.xxx
The key's randomart image is:
+--[ED25519 256]--+
...
+----[SHA256]-----+

Enter passphrase: で適当なパスフレーズを入力し、Enter same passphrase again: でもう一度同じパスフレーズを入力する。(設定しない場合は未入力で Enter)

これで
秘密鍵:id_ed25519_bitbucket
公開鍵:id_ed25519_bitbucket.pub
が作成された。

3. configファイルに記載

config を書くメリットについてはこちら

ls でファイルがあるか確認し、ない場合は作成する。

$ touch config

Vim や Atom で config を編集(コマンドから編集しない場合はスキップ)

$ vim config  # vim
$ atom config  # Atom

vim の場合は「i」キーで挿入モードに入り、以下のように入力。「Esc」キーでノーマルモードに戻り、:wq(+Enter)で保存&終了。(vim 操作についての詳細はこちら

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile c:/Users/USERNAME/.ssh/id_ed25519_bitbucket
  User git
設定 内容
Host 接続名
HostName ホスト名
IdentityFile 鍵へのPATH
User ユーザー名

4. SSHキーを登録

SSHキーの公開鍵をコピー

$ cat ~/.ssh/id_ed25519_bitbucket.pub | clip  # Windows
$ cat ~/.ssh/id_ed25519_bitbucket.pub | pbcopy  # Mac

Bitbucket の場合

  1. Bitbucket にログイン
  2. アイコンをクリックし、「Personal settings > SSH keys」 と進み、「Add key」をクリック
  3. Label には任意のラベル名、Key にはコピーした公開鍵を入力

これで端末からの鍵認証ができるようになった。

5. ssh-agentに登録

Windows では ssh-agentadd する必要がある。

ssh-agent を起動

$ ssh-agent bash

ssh-agent に秘密鍵を登録

$ ssh-add id_ed25519_bitbucket

確認(鍵の情報が表示されればOK)

$ ssh-add -l

6. 接続確認

ssh -T [Host] で確認
以下のように出力されればOK

$ ssh -T bitbucket.org
authenticated via ssh key.

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

7. Git Clone

  1. Bitbucket でリポジトリ作成済みとする
  2. 「Clone」をクリックし、コマンドをコピー
  3. コピーしたコマンドを実行し、実行したディレクトリにクローンされていることを確認
$ git clone git@bitbucket.org:USERNAME/REPOSITORY.git
Cloning into 'REPOSITORY'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

参考

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?