日本語でおk

ド素人がMacを買ってiphoneアプリ作成する様を、生暖かく見守って下さい。

XcodeからgitHubを使ってみよう(ローカルとgitHubの鍵(SSH)の設定)

f:id:takePon:20121104133613j:plain

こんにちわ。takePonです。

前回の記事ではgitHubにアカウントを作成しました。

しかし現段階では、こちらで作成したローカルのgitからgitHubへアクセスが出来ない状態です。

なぜかと言いますと。

ローカルgitとgitHub間の情報連携ですが、平文でなくSSHによって暗号化した情報をもって、やりとりをしております。

現状では未だ、暗号通信の環境が出来ていないからです。

 

この記事ではローカルにSSH※を用いた暗号通信の環境を構築し、gitHubと暗号通信でをする手順を書きたいと思います。

 

※筆者の開発環境(OS:10.7.4(Lion) )には、標準でSSH(OpenSSL)がインストールされていますので、それを前提に進めていきます。

もしSSHがインストールされていない場合は、インストールする必要があります。

(インストールのやり方は、google先生が教えてくれると思います…)

 

まず、ターミナルを起動しましょう。

spotlight(controlボタン + スペース)を起動して、ターミナルと入力すれば楽チンです♪

f:id:takePon:20121104140344p:plain

 

 ①ターミナルより、以下のコマンドの入力し、鍵(秘密鍵と公開鍵)を作成します

 ssh-keygen   

  以下の応答がターミナルに表示されるかと思います。

    Generating public/private rsa key pair.

  Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): ←作成された鍵のパス

 

 

 ②パスワードの設定を問われるので、設定します 

 (この鍵で暗号通信を行う際の、パスワードになります。)

    Enter passphrase (empty for no passphrase): 【パスワードを入力】

 Enter same passphrase again: 【パスワードを再入力】

  以下の応答がターミナルに表示されるかと思います。

    Your identification has been saved in /Users/ユーザ名/.ssh/id_rsa.

 Your public key has been saved in /Users/ユーザ名/.ssh/id_rsa.pub.

 The key fingerprint is:

 ------------------------------------- xx@xxxxxx

 The key's randomart image is:

 +--[ RSA 2048]----+

  …

 +-----------------+

 

③実際に作成された鍵を確認します。

サンプルの場合は /Users/ユーザ名/.sshに作成されてます)

 cd /Users/ユーザ名/.ssh    ←ディレクトリの移動

    ls -l    ←ファイル一覧の表示                                

  以下の応答がターミナルに表示されるかと思います。

   -rw------- 1 ユーザ名 xxxx xxxx xx x 16:47 id_rsa 

   -rw-r--r-- 1 ユーザ名 xxxxx xxx xx x 16:47 id_rsa.pub 

 

④公開鍵の内容を確認

(catコマンドで公開鍵ファイルを開き、内容をコピーします)

 cat id_rsa.pub   

 以下の応答がターミナルに表示されるかと思います。

ssh-rsa xawerhrsfshsnsfyhrshfshsfhsgsdf cakhiudareuaniauhbaihdajhfjkashdufkbnaiuhsifhdasdjkfhaisudhfuahfjdsha vahojifadojfioasjdfioajdsfallaiosユーザ名@xxxxxxxxxxxxxxxxxxxxxxx

 この文字列の羅列(ssh-rsaから最後まで)が、公開鍵となります。

 gitHub上に登録する為、上記の内容をコピーしておきます。

 

⑤公開鍵の内容をgitHubへ登録する

 ④で確認した公開鍵の内容をgitHubへ登録する為、gitHubへログインします。

   右上の設定アイコンをクリックし、SSHの設定を行います。

f:id:takePon:20121104212533p:plain

  SSH Keysを選択します

f:id:takePon:20121104212802p:plain

Add SSH keyを選択します

f:id:takePon:20121104213035p:plain

   ①SSH Keyのタイトルを入力します。(タイトルは自由に決めてOKです)

   ②ローカルで作成した、公開鍵の内容を貼り付けます。

   ①②を入力後 【Add Key】ボタンを押下します

f:id:takePon:20121104213324p:plain

gitHubのパスワードを入力後【Confirm Password】ボタンを押下します

f:id:takePon:20121104213910p:plain

SSH Keyが登録できている事を確認します。

f:id:takePon:20121104214122p:plain

 

⑥ターミナルからgitHubへSSHをでアクセスします。

 ssh -T git@github.com   

 以下の応答がターミナルに表示されるかと思います。

 The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key       fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

 Are you sure you want to continue connecting (yes/no)?

  yesを入力し、Enterで進みます。

 

おめでとうございます!!!

以下の応答があれば、無事gitHubへのSSH通信ができています♪

Hi gitHubユーザ名! You've successfully authenticated, but GitHub does not provide shell access.   

 

今回で、暗号化環境を整えましたので、

次回はいよいよローカルgitから、gitHubへのコミットを行います。

 

■参考サイト様

今回のSSHを用いた暗号化通信のしくみ、ローカルとgitHubへの設定は、

こちらの内容を大変参考にさせて頂いております。

 SetucoCMSプロジェクト様のこちらの記事

素晴らしい記事を、ありがとうございましたm(_ _)m