Git CLIでSSH
Page content
Git CLIでSSHを設定してログインする手順を分かりやすく説明します。
1. SSHキーの生成
まず、SSHキーを生成します。これは、コンピュータとGitホスティングサービス(GitHub, GitLab, Bitbucketなど)の間で安全な通信を確立するために必要です。
-
ターミナルまたはコマンドプロンプトを開く
-
以下のコマンドを実行します。
ssh-keygen -t ed25519 -C "your_email@example.com"-t ed25519: 強度が高く安全なEd25519アルゴリズムを使用します。-C "your_email@example.com": コメントとしてメールアドレスを追加します。これは必須ではありませんが、後でキーを識別するのに役立ちます。
-
保存場所とパスフレーズの入力
Enter a file in which to save the key (/home/you/.ssh/id_ed25519):と表示されたら、Enterキーを押してデフォルトの場所に保存します。Enter passphrase (empty for no passphrase):と表示されたら、パスフレーズを入力します。パスフレーズはSSHキーをさらに保護するためのパスワードです。セキュリティを考慮すると設定することが推奨されますが、毎回入力するのが面倒な場合は空のままでも構いません。パスフレーズを設定した場合は、忘れずに控えておいてください。Enter same passphrase again:で、もう一度パスフレーズを入力します。
生成が完了すると、以下のようなメッセージが表示されます。
Your identification has been saved in /home/you/.ssh/id_ed25519 Your public key has been saved in /home/you/.ssh/id_ed25519.pub The key's randomart image is: +--[ED25519 256]--+ | .+*o. | | . +BO | | . =.B. | | o o =.+ | | . S =.o | | . + + | | E . | | . | | | +-----------------+id_ed25519がプライベートキー(秘密鍵)、id_ed25519.pubがパブリックキー(公開鍵)です。プライベートキーは誰にも見せてはいけません。
2. SSHエージェントの起動とキーの追加
SSHエージェントは、パスフレーズを入力せずにSSHキーを使用できるようにするプログラムです。
-
SSHエージェントの起動
eval "$(ssh-agent -s)" -
SSHキーをエージェントに追加
ssh-add ~/.ssh/id_ed25519パスフレーズを設定した場合は、ここでパスフレーズの入力を求められます。
ヒント: コンピュータを再起動するとSSHエージェントは停止します。起動スクリプトに上記のコマンドを追加するか、必要に応じて手動で実行してください。
3. 公開鍵をGitホスティングサービスに登録
次に、先ほど生成した公開鍵(id_ed25519.pubの中身)を、利用しているGitホスティングサービス(GitHub, GitLabなど)に登録します。
-
公開鍵の内容をコピー 以下のコマンドで公開鍵の内容を表示し、すべてコピーします。
cat ~/.ssh/id_ed25519.pubssh-ed25519 AAAA... your_email@example.comのような文字列が表示されます。これをすべてコピーしてください。Macの場合
pbcopy < ~/.ssh/id_ed25519.pubLinuxの場合
xclip -selection clipboard < ~/.ssh/id_ed25519.pub # または cat ~/.ssh/id_ed25519.pub | xclip -selection clipboardxclipがインストールされていない場合は、
sudo apt-get install xclipなどでインストールしてください。 -
各サービスへの登録手順(例)
- GitHubの場合:
- GitHubにログインし、右上のプロフィールアイコンをクリックし、「Settings」を選択します。
- 左側のメニューから「SSH and GPG keys」を選択します。
- 「New SSH key」または「Add SSH key」ボタンをクリックします。
- 「Title」に任意の名前(例: “My Laptop”)を入力し、「Key」のテキストエリアにコピーした公開鍵の内容を貼り付けます。
- 「Add SSH key」をクリックして保存します。
- GitHubの場合: