phoenix-powerECDSA鍵の521bitを使用します。

ECDSA

ECDSAというのは、SSHで使われている鍵の種類で、他にDSA,RSAがあります。

ECDSAは、小さいbitを指定しても、強力な暗号化が実行されます。

521bit ECDSA鍵は15360bit RSA鍵に相当するそうです

ここで、鍵の指定とbitの指定は以下のオプションで行います。

1
$ ssh-keygen -t ecdsa -b 521

デフォルトでは、RSA2048が指定されます。

1
$ ssh-keygen -N "" -t rsa -b 2048

-Nはパスフレーズの指定です。指定した場合、GitHubでは、指定したパスフレーズの省略が必要です。

1
$ ssh-add ~/.ssh/id_rsa

GitHubユーザーのSSH鍵6万個を調べてみた - hnwの日記

MacのOpenSSHでECDSAを使えるようにする

まず、MacのOpenSSHECDSAを使えるようにします。

1
2
3
4
5
$ brew tap homebrew/dupes

$ brew install openssh --with-brewed-openssl --with-keychain-support

$ exec $SHELL

好みで以下の設定を行ってください。

1
2
3
4
5
$ launchctl stop org.openbsd.ssh-agent

$ launchctl unload -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

$ sudo vi /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

そこで、/usr/bin/ssh-agentの部分を/usr/local/bin/ssh-agentに変更します。

/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
1
<string>/usr/local/bin/ssh-agent</string>

設定を反映します。

1
2
3
4
# 読み込み
$ launchctl load -w -S Aqua /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

$ export SSH_AUTH_SOCK=$(launchctl getenv SSH_AUTH_SOCK)

GitHubへの公開鍵の登録

1
2
3
4
5
$ cd ~/.ssh && ls

$ ssh-keygen -N "" -t ecdsa -b 521 -C "your_email@example.com"

$ pbcopy < ~/.ssh/id_ecdsa.pub

あとは、Webから登録するのが良いです。

Generating SSH Keys · GitHub Help

確認です。成功すると以下のメッセージが出ます。

1
2
$ ssh -T git@github.com
> Hi username! You've successfully authenticated, but GitHub does not provide shell access.