いつもなら、
git clone https://github.com/[ユーザ名]/[リポジトリ名].git
でできるのに....。
privateリポジトリを使用して、チーム開発をするときに、いつも通りcloneしようとしたら出来なかったので、公開鍵を設定し、cloneします。
Gitの初期設定を行う
以下のコマンドを入力します。
git config --global user.name "ユーザー名"
git config --global user.email "メールアドレス"
git config --global core.quotepath false
ユーザ名、メールアドレスについては、自身のgitアカウント情報を入力してください。
設定ファイル(.gitconfig)が作成されたことを確認します。
ホームディレクトリに設定ファイルが作成されるので、以下を入力し、確認を行います。
cd ~
ls -la | grep .gitconfig
表示がされれば、作成されています。
一応、ファイルの中身も見てみましょう。
vi .gitconfig
すると、以下のようになっていると思います。
[user]
name = ユーザ名
email = メールアドレス
[core]
quotepath = false
「:!q」で終了します。
秘密鍵と公開鍵を作成する
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -C 'メールアドレス'
以下のメッセージが表示されるのでEnterを押します。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.ssh/id_rsa):
パスワードの入力を求められます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
ここでは、設定したいパスワードを入力します。
注意: この時に設定したパスワードは忘れないようにしましょう
鍵が作成されました。
lsコマンドを実行し、「id_rsa」「id_rsa.pub」が存在することを確認しましょう。
公開鍵を設定する
チームのgithubのリポジトリへアクセスし、「Clone or download」を押します。
そして、Use SSHをクリック。
以下のような画面が表示されます。
鍵が必要だといわれるので、
add a new public keyを押下し、鍵を追加します。
(右上のユーザアイコンから「settings」を押下し、「SSH and GPG keys」へ移動し、「SSH keys」からても設定することができます。)
すると、このような画面が表示されます。
Titleは、どんな名前でも大丈夫なので、わかりやすい名前を設定します。
Keyは、先ほど作成した鍵を入力します。
鍵の確認方法は、以下の通りです。
cd ~/.ssh
cat id_rsa.pub
を実行。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6qKklHI/0
O7bQNRIuWf4zX+ETtxWaqnyv648OOMVOvYLN2SH4
+WbiOMdBpGWqPeyKShsJtCob80Fpw/jnqOU4BA365
TEiuihRKyyIKwHoGdzOf6sL6V/QiPMr9Tbe6+ik0TvAOo
kO0okaXh7HNvc9anMDpC4AuchSmMmsbCAujm4JR
AZDugXMaLhSEEvQuma755GZPCjDJCt4AZNsG3w2Vh
2yhWYmqA2ZN/b1m3vs2MJrDRGwvwew1QNdMg6g6
CdloA687RYAcFAlxRpqsQDa127ZKmUJ5V0fDGnrtYzu
QeMR62qbICWKcb2BYa/DKOizkpCkV5EvHHliXqz/ANz
Z メールアドレス
このような情報が表示されるかと思います。
生成された鍵の内容は異なっていても、問題ありません。
この内容をコピーし、Key欄に張り付けます。
鍵が作成されました。
cloneしたい場所へ移動し、以下のコマンドを入力します。
git clone git@github.com:[リポジトリの所有アカウント]/[リポジトリ名].git
を実行すると、
鍵生成時に設定したパスワードの入力を求められ、入力に誤りがなければcloneされます。