はじめに
今までGithubに使用するSSHキーはRSAしか使用したことがありませんでした。
つい最近ECDSAで生成する機会があったので、記載しておこうと思います。
下記のような方には少し参考になると思います。
・SourceTreeを使っている
・イマイチ鍵について分かっていない
・RSA以外に使用してみたい
・ターミナル操作が苦手
そもそもECDSAとはなんぞや
SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」という種類があります。
その中のECDSA
は楕円曲線DSAとも呼ばれビットコインやイーサリアムの文脈では特にトランザクションの署名に使われます。
なかなか難しい内容なので詳しく知りたい方は下記をチラ見してくださいw
https://zoom-blc.com/what-is-ecdsa
SourceTreeでSSHキーを登録する
※既に登録済みの方はスルーで大丈夫です
GitHubのユーザー名、パスワードを入れる
※ハスワードについてはGitHubのSettings→Developer settings→Personal access tokensで追加
Noteは自由な名前でOK、repoにチェック
ユーザー名とパスワードを入れたらキー生成ボタンを押します
そうしたら、キーが生成されているか確認してみましょう。
Finderでホームディレクトリに移動します。
※ホームディレクトリがない!
って人はこちらで確認しましょう
ホームまで来たら隠しファイルを表示するため Command + shift + .
を打ち、.ssh
ファイルを確認します。
configファイルを確認すると、SourceTreeで登録した内容が記載されています。
あとは公開鍵(.pubのほう)の内容をGitHubに登録して完了です↓
ECDSAキーを登録する
さて本題ですが、まずkeyをコマンドで生成します。
ssh-keygen -t ecdsa -b 256
色々質問されますが、全てEnterを打ちます。
そうすると先程の.sshファイル
に鍵が生成されていることが確認できます。
そしてconfigファイルを開き、下記情報を追記します。
Host Hoge //自由に変更できる ここでconfigファイル内の情報が識別される
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_ecdsa //ディレクトリのパス
次に先程と同じようにGitHubに公開鍵を登録します。
ECDSA鍵を使用してリポジトリをクローンしたい時
ECDSAで生成した鍵を使用したい場合は、github.com
の部分を上でいうHoge
の名前に変更する。
↓↓↓↓↓↓
終わりに
SSH鍵に関しては最初手こずったので、初心に戻って書いてみました。
間違っている箇所があるかもですがご指摘いただければと思います。
少しでも役に立てばLGTMお願いします♪