①「PowerShell」を「管理者権限で起動」
②SSH公開鍵と秘密鍵を作る前に、OpenSSHクライアントソフトウェアがインストールされているか確認します。
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
③公開鍵を生成するコマンドを入力
ssh-keygen -t rsa -b 3072 -- ファイル名を指定しない
ssh-keygen -t rsa -b 3072 -f ~/.ssh/my_custom_key
--※ファイル名をmy_custom_keyにする場合
④公開鍵を生成する場所(ファイル名)を指定(デフォルトはEnterすると[/.ssh/id_rsa]フォルダとファイルが新規作成される)
⑤パスフレーズの入力を2回求められる(スキップはEnter)
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa): C:\Users\username\Downloads
サーバ側にログインしてから公開鍵の内容をコピー
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
GitLabのSSHキー登録
ssh-keygen -t ed25519 -C "XXXXXXXXXXXX@gmail.com"
cat ~/.ssh/id_ed25519.pub
ssh -T git@gitlab.com
生成の時のコマンドのパターン
パターン | コマンド例 | 特徴 |
---|---|---|
① ファイル名を指定しない(デフォルト保存) | ssh-keygen -t rsa -b 3072 |
対話形式で入力を促される。何も入力しなければ ~/.ssh/id_rsa に保存。 |
② ファイル名を指定する | ssh-keygen -t rsa -b 3072 -f ~/.ssh/my_key |
自動で指定したファイルに保存(対話なし)。スクリプトや自動化に便利。 |
③ パスフレーズ(鍵の暗号化)を指定する | ssh-keygen -t rsa -b 3072 -f ~/.ssh/my_key -N "mypassword" |
パスフレーズを事前に指定(対話不要)。-N "" でパスフレーズなしにもできる。 |
④ コメントを付ける(識別用) | ssh-keygen -t rsa -b 3072 -f ~/.ssh/my_key -C "my@example.com" |
公開鍵にコメントを埋め込む(後から判別しやすい)。 |
⑤ 鍵種を変える | ssh-keygen -t ed25519 |
RSA以外の鍵種(ed25519、ecdsa など)も選択可能。より高強度な鍵が必要な場合に。 |
⑥ 対話すべてをスキップ(完全自動) | ssh-keygen -t rsa -b 3072 -f ~/.ssh/my_key -N "" -C "auto@example.com" |
無人スクリプトなどで使用。すべての入力を事前指定。 |