業務でSSHを使ってAzureのDevOpsのリポジトリに接続する機会があったので方法をまとめます。
GitクライアントはSourceTree、TortoiseGitで確認済みです。
1. SSHキーを作成する
- 以下のコマンドを実行する
ssh-keygen -C "{リポジトリに登録しているメールアドレス}"
- パスフレーズが求められるが、今回は設定しない
C:\Users\user>ssh-keygen -C "{リポジトリに登録しているメールアドレス}"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\user/.ssh/id_rsa):
Created directory 'C:\Users\user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\user/.ssh/id_rsa.
Your public key has been saved in C:\Users\user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:QyvGK*****Y7C5n*****sZ5c7*****a6p2B*****Dqk {リポジトリに登録しているメールアドレス}
The key's randomart image is:
+---[RSA 2048]----+
| *** |
| *** |
|*****+ o. |
|....+***o. |
|.E+..B+=S |
|o***+.B. . |
|**** = . |
|B*= +***** |
|=O=. o *** |
+----[SHA256]-----+
これで、C:Users/{ユーザー名}/.ssh
に公開キーと秘密キーが生成される
2. DevOpsのリポジトリに生成したSSHキーを登録する
- 下記画像の通り、セキュリティページにアクセス
-
SSH public keys
を選択し、Add
を選択する
-
生成した公開キー(
id_rsa.pub
)の中身のテキストを貼り付ける。この時、空白行が入らないようにすること
Discription
には、任意のわかりやすい名前を付ける(例:会社のPC) -
Save
を押し、保存する。
3. Cloneする
Clone画面でSSH
タブを選択し、SSH用のURLをコピーし、SourceTreeやGitコマンドでcloneする
Pageantに秘密鍵を登録しておく
Cloneする前に、SSHの認証エージェントであるPagent(Putty等に同梱されている)に[1](#1. SSHキーを作成する)で生成した秘密鍵(id_rsa)ファイルを読み込む。読み込む際、ppk形式に変換する。
変換方法は以下を参照
参照・引用
https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=vsts