Git サーバー - SSH 公開鍵の作成と登録
Git サーバー接続時に SSH プロトコルを使う
ローカル開発環境だけで Git を使うなら問題ないが、外部 Git サーバー、たとえば GitHub、GitLab、Bitbucket などからコードを clone したり push したりする場合は、SSH プロトコルを使う方が安全である。GitHub のようにインターネット経由で利用する多くの Git サーバーは、SSH プロトコルの公開鍵認証方式をサポートしている。
SSH 公開鍵と秘密鍵を作る
公開鍵を使うには、まず公開鍵を作成する必要がある。ほとんどの OS で手順は似ている。
既存の鍵があるか確認する
まず、すでに作成済みの鍵があるか確認する。
$ cd ~/.ssh
$ ls
id_rsa id_rsa.pub known_hosts known_hosts.old
id_rsa などが表示され、同じ名前に .pub 拡張子が付いたファイルもあれば、すでに公開鍵が作成されている。このファイルがある場合は、その鍵を使える。
ssh-keygen で作成する
ssh-keygen というプログラムで鍵を作成する。ssh-keygen は Linux や macOS の SSH パッケージに含まれており、Windows では Git for Windows に含まれている。
ssh-keygen
次のようにコマンドを実行すると、保存したいディレクトリとパスワードを 2 回入力する。パスフレーズを設定しない場合は、そのまま Enter を押す。
% ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/user/.ssh/id_rsa
Your public key has been saved in /Users/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QKYpyuK6Un3qb0ARjL7lw5ER1mZAMl5nYGMQARD3X0Y user@AL02263852.local
The key's randomart image is:
+---[RSA 3072]----+
|=oBB%*= E |
| o.O+O+. |
| .o +*. o |
|....=. + |
|o. B .. S |
|o o * . |
| o = |
|o . . |
|+. ..o. |
+----[SHA256]-----+
正しく作成されていれば、次のように公開鍵を確認できる。
% cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAAD2xwcZj/fJnLZbfw ... 中略 ... d+iauipAZDRLz0cgJcoTr0XuZ9DU= user@AL01234567.local
公開鍵を GitHub アカウントへ登録する
作成した公開鍵は、次のリンクから GitHub アカウントへ登録できる。
