Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

【Mac】SSH Keyを発行する時に『id_ed25519』が生成される理由

こんにちは!オルターブース広報の坂根です。
もう20度を超える日が続いて、初夏かな?と思う日もありますね。

今回は、非エンジニアの私がMacでAzureDevOpsのReposに接続する時に詰んだので解決した流れをご紹介します。

目次

SSH Keyを発行する時に『id_ed25519』が生成される理由

いろいろ話す前に、まずはタイトル回収からしようかと思います。
今回はこのブログを見ながら、AzureDevOpsに接続してリポジトリをクローンする準備しようと手を動かしました。

aadojo.alterbooth.com

ターミナルにコマンドを順番通りに打って、鍵の発行を完了したのですが、まず困ったのが隠しフォルダの表示。
やり方を備忘録的に載せておきます。

隠しフォルダの表示させ方👇

1. Finderにて.sshフォルダを探すと・・・ない!

隠しフォルダなので当たり前ですね。

隠しフォルダが表示されていない状態

2.「command」+「shift」+「.」で隠しフォルダーを表示させる。

隠しフォルダーが表示された状態

無事に隠しフォルダーを表示でき、ここまでは手順通りに『SSH Keyを発行できた〜!!』と思い、AzureDevOpsのSettingでSSH Keyを貼り付けたら、何回もエラーが出ました。

なんでだ!!!!

接続する時に出たエラー

エラーメッセージ表示画面
Invalid key: Valid keys will start with "ssh-rsa".
何やら、ここに貼り付けるSSH Keyは、"ssh-rsa"で始まりますよ、と言われてますね。

なんでだ?と思い、よーく見ると、私が発行したSSH Keyは、id_ed25519から始まるので違いますね。

SSHキーの生成時にid_rsaではなくid_ed25519が生成される原因について

SSHキーの生成時にid_rsaではなくid_ed25519が生成される原因について、最近では、セキュリティとパフォーマンスの観点からED25519が推奨されることが多くなっているそう。 以下の理由から、SSHキー生成時にデフォルトでid_ed25519が選ばれることがあるとのこと。

セキュリティの向上

ED25519は短い鍵長で高いセキュリティを提供します。

パフォーマンスの向上

署名と検証が高速で、効率的です。

量子コンピュータへの耐性

量子コンピュータに対する耐性が高いとされています。

これらの理由から、SSHキー生成時にid_ed25519がデフォルトで選ばれることが増えているのだとか。

私の場合は、ssh-keygenというコマンドを打ったら、id_ed25519の方でSSH Keyが生成されたようです。
Macによってどちらが生成されるのか違うみたいです。

id_rsaで鍵を生成しなおす

id_rsaで鍵を生成しなおすには、下記コマンドを入力。
ssh-keygen -t rsa
id_rsaのSSH Keyが発行されます。

id_rsaの中身を確認する。

ターミナルでSSH Keyの発行が完了したら、先ほどの表示の仕方で隠しフォルダを確認。

  • id_rsa
  • id_rsa.pub


以上2つのファイルが作られているので、id_rsa.pubを選びます。
".ssh"→"id_rsa"→"このアプリケーションで開く"→"テキストエディット"の手順で中身を確認。

id_rsa.pubを選んでくださいね

AzureDevOpsに接続

①AzureDevOpsにログインし、右上のアイコンをクリックすると下記画面が表示されるのでSwitch directoryの右の"…"をクリックして"User Setting"を選ぶ。

User Settingをクリック

②"SSH public key"をクリックする。

SSH public keyをクリック

③右の青いボタンの"+New Key"をクリック

+New Keyをクリック

④下の画像の画面になるので、Nameに分かりやすい名前を入力し、Public Key Dateの欄に先ほど発行した、"ssh-rsa"で始まりまるSSH Keyを入力する。

先ほど発行した、SSH Keyを入力する

接続完了!

AzureDevOpsに接続完了しました!

AzureDevOpsに接続完了

まとめ

なんとかAzureDevOpsに接続が完了しました。
ここまで来るのにCopilotにかなり助けてもらいました。
今回詰んだことで、SSH Keyの違いも分かりましたし、勉強になりました。
今後も、非エンジニアとはいえどんどん学んでいきたいと思います。

また、次回お会いしましょう!!!


サービス一覧 www.alterbooth.com cloudpointer.tech www.alterbooth.com