XcodeからgitHubを使ってみよう(ローカルとgitHubの鍵(SSH)の設定)
こんにちわ。takePonです。
前回の記事ではgitHubにアカウントを作成しました。
しかし現段階では、こちらで作成したローカルのgitからgitHubへアクセスが出来ない状態です。
なぜかと言いますと。
ローカルgitとgitHub間の情報連携ですが、平文でなくSSHによって暗号化した情報をもって、やりとりをしております。
現状では未だ、暗号通信の環境が出来ていないからです。
この記事ではローカルにSSH※を用いた暗号通信の環境を構築し、gitHubと暗号通信でをする手順を書きたいと思います。
※筆者の開発環境(OS:10.7.4(Lion) )には、標準でSSH(OpenSSL)がインストールされていますので、それを前提に進めていきます。
もしSSHがインストールされていない場合は、インストールする必要があります。
(インストールのやり方は、google先生が教えてくれると思います…)
まず、ターミナルを起動しましょう。
spotlight(controlボタン + スペース)を起動して、ターミナルと入力すれば楽チンです♪
①ターミナルより、以下のコマンドの入力し、鍵(秘密鍵と公開鍵)を作成します
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の設定を行います。
SSH Keysを選択します
Add SSH keyを選択します
①SSH Keyのタイトルを入力します。(タイトルは自由に決めてOKです)
②ローカルで作成した、公開鍵の内容を貼り付けます。
①②を入力後 【Add Key】ボタンを押下します
gitHubのパスワードを入力後【Confirm Password】ボタンを押下します
SSH Keyが登録できている事を確認します。
⑥ターミナルから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への設定は、
こちらの内容を大変参考にさせて頂いております。
素晴らしい記事を、ありがとうございましたm(_ _)m