4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Githubのプライベートリポジトリをsshでクローンする方法(Mac)

Last updated at Posted at 2023-05-13

環境

  • System Version: macOS 13.3.1 (22E261)
  • Kernel Version: Darwin 22.4.0
  • Shell: zsh

ターミナルでsshキーを生成する

下記コマンドを入力する

ssh-keygen -t rsa -b 4096 -C "hogehoge@example.com"

-Cはコメントを指定するオプションであり、Githubの公式ドキュメントでメールアドレスを指定するよう書かれています。
ここで指定したメールアドレスは公開鍵に埋め込まれます。

メールアドレスを公開鍵に含めるのは、他の人が利用する際に所有者を特定できることで何かあった際に連絡できるようにするという目的がありそうです。
あくまでコメントなので空白でも良いと思います。

生成された公開鍵と秘密鍵は~/.ssh/に配置されます。

  • id_rsa.pub: 公開鍵
  • id_rsa : 秘密鍵

Githubで公開鍵を登録する

Settings > SSH and GPG keys にて New SSH key をクリック

Titleは自分がわかればOKなので適当に入力
Keyは先程生成した公開鍵を開いて、中身をそのままペースト

Add SSH key で登録します。

ターミナルでSSHエージェントに秘密鍵を登録する

下記コマンドを入力する

ssh-add ~/.ssh/id_rsa

ターミナルでSSH認証する際に使う秘密鍵を登録する

下記コマンドを入力する

ssh -i ~/.ssh/id_rsa git@github.com

The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:************************.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

のようなメッセージがでてきて、対応を求められると思います。

これは、初めてGitHubのSSHサーバーに接続しようとしている場合に表示されるメッセージです。
SSHでは、接続先のホストの公開鍵を確認して安全な接続を確立します。しかし、初めて接続する場合、その公開鍵がローカルシステムに存在しないため、接続の安全性を確認することができません。

yesと入力して、接続を続行します。
接続先のホストの公開鍵がknown_hostsファイルに追加され、次回からは自動的に検証されるようになります。

クローンする

Githubでクローンしたいリポジトリを開き、SSH用のURLをコピーします。

git@github.com:[owner_name]/[repository_name].git

ターミナルでクローン先のDirectoryに移動し、次のコマンドを入力します。

git clone git@github.com:[owner_name]/[repository_name].git

うまく設定できていれば、クローンできるはずです!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?