TechnTack

エンジニアの日常

GitHubリポジトリへのSSHアクセスについて

これからScalaで作成していった物はGitHubリポジトリ管理することにしました。

Windowsを使用しているのでクライアントツールは以下を利用します。

上記ツールのインストール手順は記載しませんが、 それぞれ上記リンクよりインストーラをダウンロードしました。

以降は、上記がそれぞれインストールされている前提で記載しています。

公開鍵・秘密鍵の作成

まずはGitBushを起動してください。
起動が終わったら以下のコマンドで「.sshディレクトリを作成してカレントディレクトリを変更します。

$ mkdir ~/.ssh
$ cd ~/.ssh/

続いて鍵を生成します。

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/%ユーザ名%/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

対話形式で質問が3回ありますが、すべて何も入力せずにEnterで鍵が作成されます。
※鍵の名称を変更したり、パスフレーズを設定したりする場合は適宜値を入力する必要があります。

上記と同様のコマンドを実行していれば、この時点で以下のファイルが作成されています。

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

GitHubへのSSH keysへの公開鍵の登録

まずは自身のGitHubの設定ページを表示して、画面左にあるメニューより「 SSH and GPG keys 」を選択します。
選択するとSSH keysが表示されるので「 New SSH Key 」ボタンをクリックしてください。

f:id:techn_tack:20170225235912p:plain

クリックすると上記が表示されますので、まずは「Title」に任意のタイトルを設定します。
(後々、何の鍵か分かるような名前であれば問題ありません)

続いて、GitBushにて以下のコマンドで公開鍵の中身をコピーします。

$ clip < ~/.ssh/id_rsa.pub
※上記で作成した公開鍵を指定してください。

コピーした物をGitHub上の「 Key 」に設定して、「Add SSH Key」ボタンをクリックすると公開鍵の登録が完了します。

上記までで作成した秘密鍵をTortoiseGitで扱う為に「 ppkファイル 」に変換

上記までで作成した秘密鍵(id_rsa)をppkファイルに変換するためには、
TortoiseGitインストール時に同時にインストールされる「 puttygen.exe 」を利用します。
(デフォルトのインストールパスであれば「C:\Program Files\TortoiseGit\bin」にあります)

起動すると以下ダイアログが表示されます。 f:id:techn_tack:20170226001111p:plain

続いて「File -> Load private key」で先ほど作成した秘密鍵(id_rsa)を開きます。
(選択できる拡張子が「.ppk」になっているので「All Files (.)」に切り替える必要があります)

秘密鍵の読み込みが成功したら「 Save private key 」ボタンを押してppkファイルを作成します。
(必要であれば「passphrase」も入力してください)

ここまでで、秘密鍵と同ディレクトリにppkファイルが作成完了です。

GitHubリポジトリからclone

GitHubよりリポジトリパスをコピーしたら、任意のディレクトリでGit Cloneします。
TortoiseGitの「Git Clone...」を選択するとGit Cloneダイアログが表示されます。

ダイアログ中のURLにリポジトリURLを設定し、
ダイアログの中心付近にある「 Load Putty Key 」に先ほど作成したppkファイルを設定すると無事Cloneできます。

最後に...

ここまででGitHubよりCloneができました。
あとは、適時コミットやプッシュを行っていくだけとなります。

さて、ボチボチ開発に入っていきますかー