プログラミング 記事一覧

githubを使うための設定をする

更新日:

僕はプログラミングにわか勢であるが、授業の提出物の都合でgithubを使わなくてはならなくなった。ので、友人の助けを借りつつ、設定をしている最中である。
多分僕みたいに困ってるにわか勢は沢山いると思うので、せっかくだし方法とかをまとめておこうと思う。
といっても、友人がくれたスライドにほとんど書いてあるのだけれど笑
ちなみに、macです。


こちらがそのスライドである。

このスライドを読めばひと通り設定できるのだが、わからない用語も多いと思うので、自分が調べたことを補足していく。


Homebrewとは?

パッケージ管理システムである、という説明だが、有名なものとして、他にMacPortsがある。そういえば武藤研いるときにインストールさせられたわ…
そもそもパッケージ管理システムとはなにか。
こんなスライドを発見した。

黒いApp Storeという表現にとても納得した笑
つまりは、食材一つ一つをまとめて料理としてPCにダウンロードしてくれるシステムのことのようだ。そしてHomebrewとは、そのシステムの一つである、というわけだ。


ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

これはどういう意味なのか。
rubyとはプログラミング言語の一つである。
-e "コマンド"""内のコマンドをスクリプトとして実行せよという意味になるようだ。

$の意味はわからなかった…グローバル変数ってことかな…?

で、問題なのがcurl。curlとはファイルの送受信をするコマンドラインツールだ。
だから、
curl https://www.cha1ra.com
と入力すると僕のホームページのソースコードが受信されるというわけだ。
それに各オプション
f(fail) サーバーエラーが生じた際に、そのまま終了する
s(silent) 要求されたデータのみを出力。
S(show-error) エラーメッセージの表示
L(location) もしURLが移転していたら、移転先を調べてくれる。
をつけている。
こちらのサイトを参照にした。

つまり、curlでURLから情報をとってきて、それをrubyで実行してくれ、ということらしい。わかってしまえばどうということはないね。$()だけわからないけど。
ちなみに、こういう一行だけのスクリプトのことをワンライナーというらしいよ。


公開鍵生成

これも概念だけ勉強したわ。
概念を復習も込めて書いておくと、公開鍵暗号方式とは、公開鍵、秘密鍵の2つを用いてファイルの暗号、復号を行う暗号方式

例えば、AさんがBさんにファイルを送りたい場合、AさんはBさんの公開鍵でデータを暗号化します。ここで重要なのが、公開鍵では暗号化されたデータの暗号化をとくことは出来ないということ。暗号化されたデータを元に戻せるのは、Bさんしか持っていない秘密鍵しかないのです。
これのいい所はデータの復号に使われる鍵がBさんの手元から離れない点。自分しかもっていない鍵でしか復号出来ないのであれば、安全だよね。
でも、自分はAさんだと偽ってBさんにファイルを送ることに対して対策できないよねみたいな話になって、証明書つけたりとか、それにも公開鍵認証つけてハイブリッドなんちゃらにするとかいう話もあるけど、そこらへんは忘れた。リスクマネジメントの授業をとればいいと思うよ。

話が逸れた。さて、どうやらその公開鍵を作るという話のようだ。
まず、sshについて調べよう。

sshとはSecure Shellの略で、通信プロトコルの一種のようだ。プロトコルとは、通信するときのルールって意味ね。

では、sshにおいて公開鍵暗号方式はどのようなプロセスを経るのか。こちらのサイトに詳しかった。
つまり、こちら側で公開鍵、秘密鍵を作成し、サーバーに公開鍵を渡す。そして、僕が持っている秘密鍵はパスフレーズ(これがスライドに書いてあるやつ)で暗号化。

そして、SSH接続をすると、パスフレーズを入力することで秘密鍵を復号、その上でサーバーがこちら側にデータを送信してきて、それを複合して送り返すことで認証を行う。

一致した場合、秘密鍵でしか復号できない=本人である、という認証を行うのだ。

なるほどね。SFCのログイン名とパスワードはそういう仕組だったのね←
※某パソコン相談所勤務

そして、問題は~/.sshであるこの隠しフォルダがない。ls -aしてもない。

というわけで手動で作る
mkdir ~/.ssh である。


と、ひと通り設定が終わったのだが、ひとつ残念なお知らせである。

なんと、

Github for Mac をダウンロードしてアカウントを入力すれば、勝手に鍵を登録してくれるのである。

そして僕はこの準備をする前にGithub for Macをインストールしていたのだった

まあ色々と学ぶことが出来たのでよしとしよう。
寝る。

「面白いじゃん」と思ったらぜひシェアをお願いします!

-プログラミング, 記事一覧

Copyright© ちゃいら随筆 , 2019 All Rights Reserved Powered by STINGER.