経緯
新人研修の際に、SSHキーの生成がうまくいかないことが多く、出戻りが発生。
なぜかつまずくことが多かったので簡単に記載した記事にしようと思いました。
前提条件
今回GitHubでの登録なのでアカウントを保有している。
Windows、Mac、Linux各OSのコマンドラインでの作業が可能。
実行環境
・Windows11
・GitHub
作成が必要な理由
SSHを使用した、gitコマンド実行のために必要。(push pull clonen など)
ユーザー側でキーペアを作成し、その公開鍵をGitLabに登録することで利用可能になります。
本手順ではユーザーのPCのホームディレクトリにキーペアを作成します。
手順
①Windows キー+Rキーを押して「cmd」を入力しエンターでコマンドプロンプトを起動
※各環境に合わせてコマンドプロンプトを起動してください。
②Users/ユーザー名/.ssh へ移動します
cd \.ssh
※.sshフォルダがない場合は下記コマンドで作成し、再度移動する。
cd \
mkdir .ssh
③ssh-keygenコマンドでキーペアを作成します。
現在のディレクトリが「.ssh」であるか確認する
cd
C:/tyUsers/ユーザー名/.ssh ← .sshディレクトリにいることを確認する。
アルゴリズムは ”ED25519”、コメントはGitLab上のユーザーのメールアドレスを使用してください “hogehoge@gmail.com" を設定して進めます。
ssh-keygen -t ed25519 -C "hogehoge@gmail.com"
次にキーペアの作成場所とファイル名の確認が表示されます。
今回はデフォルトのままEnterキーを押下して先に進めます、下記画像を参考にしてください。
※ユーザ名は伏せています。
④SSHキーの作成ができたら、SSHキーのコピーを行います。
.sshフォルダに入り、先ほどの「id_ed25519」「id_ed25519.pub」が作られていると思います。
今回使用するのは「id_ed25519.pub」になります。
先ほどと同じディレクトリにて下記コマンドを実行。
type id_ed25519.pub
⑤GitHubに登録
自分のアカウントでログインを行う。
「Setting」を開く
「SSH and GPS keys」を開き、「New SSH key」を押下。
必要情報を入力して「Add SSH key」を押下する。
Title | 登録Keyの任意の名前を付ける今回は「test」とする |
---|---|
Key type | Authentication Key Signing Key |
Key | id_ed25519.pubでコピーした情報を入力 |
⑥Git疎通確認
作成したSSHkeyが機能しているか、Gitとの接続確認を行います
先ほどのコマンドプロンプトにて下記コマンドを実行
ssh -T git@github.com
成功
Hi ○○! You've successfully authenticated, but GitHub does not provide shell access.
失敗
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> Are you sure you want to continue connecting (yes/no)?
表示されるメッセージのフィンガープリントが、GitHub の公開キー フィンガープリントと一致することを確認します。 その場合は、「yes」と入力します。
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
まとめ
普段何気なく使用しているGitなどは初期設定の機会が少ないと忘れてしまします。。
今回備忘録として記事にした際、WindowsのコマンドとLinuxコマンドが混ざってしまい少し時間がかかってしまったので良い機会でした。
参考サイト