SSH秘密鍵・公開鍵の作成
ssh-keygenで鍵を作成
クライアントPCで SSHの秘密鍵、公開鍵を作成します。Macは ターミナル、Windowsは PowerShell を開き、cd コマンドでユーザホームに移動します。
cd
//または
cd ~/
ssh-keygenコマンドでRSA認証鍵を作成します。
ssh-keygen -t rsa
ファイル作成場所やパスワードを聞かれたら、すべて空欄で入力します。
Enter file in which to save the key (/home/xxxx/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
SSHの鍵が作成されました。
...
The key's randomart image is:
+---[RSA 4096]----+
| . +B. o|
| o o E ++o|
| o X . o o+|
| . + O . o.o|
| S + .oo*o|
| o.o+oB|
| *++|
| .+.+.|
| ...o+*|
+----[SHA256]-----+
秘密鍵・公開鍵の確認
.ssh フォルダの中を確認してみましょう。
Macの場合
ls -al .ssh
Windowsの場合
dir .ssh
.sshフォルダに id_rsa と id_rsa.pubが作成されたのを確認します。
id_rsa
id_rsa.pub
- id_rsa:秘密鍵
- id_rsa.pub:公開鍵
鍵ファイル名を任意で設定する場合
鍵ファイル名はデフォルトでid_rsaで作成されますが、-f オプションで任意のファイル名を指定できます。
ssh-keygen -t rsa -f .ssh/鍵ファイル名
.ssh/config の設定
.ssh/configファイルを作成して GitHub の認証鍵情報を設定します。
vi を利用する場合
vi .ssh/config
- ホスト名(HostName):github.com
- ユーザ名(User):git
- 秘密鍵のパス(IdentityFile):~/.ssh/id_rsa.pub
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.pub
vi を利用しない場合
vi を利用しない場合は、エディタソフトで .ssh/config を作成して設定してください。
公開鍵の表示
公開鍵(id_rsa.pub)の中身を表示し、「ssh-rsa からアカウント@ホスト」まですべてコピーしておきます。この鍵は GitHub の公開鍵登録で入力します。
cat .ssh/鍵ファイル名.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTBu1r3uwhKx2wqouYSgTIytCkzKS/FXhR1m1L0kUYNw/0Bm4m
...
...
qoZirabBPzOW27SO0TBHAQGw== アカウント名@ホスト
GitHub の設定
GitHub にログインしてメニューから setting にアクセスします。
SSH and GPG keys にアクセスします。
New SSH Key をクリックして新規作成画面にサクセスします。
入力画面のKey にコピーした公開鍵を貼り付け、New SSH Key で新規作成します。
SSH Keys に公開鍵が登録されました。
Githubにログイン
GitHub に公開鍵を登録したら、クライアントから SSHログインしてみましょう。
ssh -T [email protected]
初回接続で質問されるので yes で答えます。
The authenticity of host 'github.com (192.30.255.113)' can't be established.
RSA key fingerprint is SHA256:xxxxx
Are you sure you want to continue connecting (yes/no)?yes
You've successfully authenticated と表示されれば成功です。
Warning: Permanently added the RSA host key for IP address 'xxxxxx' to the list of known hosts.
Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.