会社でcygwinからgithubにガサゴソしていたけど、誤ってcygwin環境をぶっ壊したので、
新しい環境に、githubのリポジトリを一から取ってこなくてはならなくなった。
で、またガサゴソする為には何をやればよかったんだっけ?…という状態に再び自分がなった時用のメモです。
今更感満載ですが、自分用なんだから仕方ない。
まず公開鍵作る
ターミナルを起動しましょう。新環境の公開鍵を作ります。そもそものsshの設定は他所で聞いておくんなまし。
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
とりあえずここまで表示されるので、鍵作るパスが表示されたところでいいか確認。よかったらそのままEnter。
万が一、既にあったら「/root/.ssh/id_rsa already exists.」とか言われるので、Ctrl+Cで抜けて既存の公開鍵使うよろしです。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
パスフレーズを入力せいと言われるので、パスフレーズ入れるかEnter二連打するかはお好みで。(私は連打しかしたことありません…)
「Your public key has been saved in <hogehoge>」と表示されてるはずなので、そのファイルをcatしましょう。
# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAA..(以下略)
この文字列を今度はGitHubに登録してやりますので、コピーしておきましょう。
公開鍵をGitHubに登録する
さて、今度はブラウザからGitHubにつないでガサゴソします。
ログイン方法すら忘れている可能性もあるので、そこから記載します。
-
まずは右上の「Sign in」です!下のテキストボックス達は新規用です!
-
ここは説明不要でしょう。
-
サインインしたら、右上の自分のアイコンをクリックします。(こういう時に黒いアイコンは困る)
-
表示されたメニューから「Settings」を選びましょう。
-
したっけ、左のメニューから「SSH and GPG keys」を選びましょう。
-
右ペインの「New SSH key」を選びましょう。お亡くなりになった旧環境の公開鍵が見えますね…。南無三。
-
下にガバっと開くので、わかりやすいTitleを書いて、Keyには先ほどコピーした公開鍵の内容をペーストします。
コピーするのは、最初の「ssh-rsa AAA」から最後の「<user>@<hostname>」まで、全部です。終わったら「Add SSH key」を押します。
-
そうしたら先ほどのお亡くなりKeyの下に新しいのが増えているはず。
いよいよClone
やっとこさCloneです。
まずはリポジトリのURLをGitHub上で取得します。Octocat(Monalisa)をクリックします。
右のほうにリポジトリへのリンクがあるはずなので、そこをクリックします。
遷移後、右っ側の「Clone or download」をクリックします。
出てきたメニュー?の変なアイコンをクリック!これでリポジトリのURLがこぴられます。
ターミナルに戻りましょう。クローンを作りたいディレクトリに移動したら、
先ほどのリポジトリURLをペーして、クローンします。
# cd /data/github
# git clone git@github.com:hasegit/shellscript.git
Cloning into 'shellscript'...
Warning: Permanently added the RSA host key for IP address '111.101.151.111' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Receiving objects: 100% (3/3), done.
# ls
lsして、Cloneしたリポジトリのディレクトリが出来てれば終了です!お疲れさまでした!!
(これを書くのが一番疲れたっていう…)
↓なお、鍵交換してない状態でCloneすると、こうなります
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.