久方ぶりの投稿。
GitHubというVCS(バージョンコントロールシステム)が近頃盛んに使われてるようなので使ってみた。
別に仕事で使っているわけではなく興味本意。
違いはセキュリティが強化されている点とインターネット上利用が重点が置かれている点か?
みてる限りGitHubにアップされているモジュールをローカルに取り出してくることをCloneというらしい(初心者丸出し)。
例えば私のGitHubのtestモジュール(necoscard/test)であれば以下のようなGitコマンドでチェックアウトしてこれる。
git clone git@github.com:necoscard/test.git
実際これをするためにはクライアント側にオープンソースのGitをインストールしておく必要がある(WindowsでプチLinuxが堪能できます)。
もちろん使う以前にOpenSSHで公開鍵と秘密鍵をRSAで事前作っておきGitHubに公開鍵を登録しておく必要がある。これらのコマンドはGitをインストールすると同梱されてきます。
WindowsであればGitインストール後コマンドプロンプトでも上記を実行出来るのだが、通常Git BashというコンソールでGit関連のコマンを叩くことになる。
初心者は色々試行錯誤はすることにはなるものの、Gitはさほど難しいものではない。だがある職場のPROXYサーバー経由のVPN環境で使うとなるとアクセス制限がかけられていたり外部にダイレクトに繋がんなかったりする。
Gitに限ったことではないが、PROXY絡みの繋がんない障害はかなり多い気がしてならない。日々、試行錯誤を重ねている。
通常GitはSSH(port=22)を使用するのでHTTPやHTTPSしか通さないPROXYにおいては使えない。
ここで、めげなくてもSSH over HTTP Proxyというポート443を使うSSL経由で仮想的にSSH接続してGitHubにつなぐ逃げ道がある。
話が飛ぶかもしれないがGit接続時に使う暗号鍵を作る作業があるが、
ssh-keygen -t rsa
gitHubにつなぐ時のキーは通常ここにある秘密鍵を使用される(GitHubのホスト側は公開鍵)。
PROXY経由でつなぐ場合はもう一つ以下の内容のconfigファイルの作成が必要で、これを用意しておくことでホストgithub.comへの接続はSSL経由で試行される。
(configファイルの内容)
Host github.com
User git
Port 443
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
ProxyCommand connect.exe -H プロキシサーバのホスト:プロキシポート %h %p
これでPROXY環境下でGitHubへ繋ぐことができめでたしめでたしである。
尚、実際github.comにつなげる前に
以下のコマンドを叩いてgithubへ仮想SSH接続できることを確認すべし。
ssh -T git@github.com
簡単にまとめたが、結構ハマったのでconfigファイル作成のツボを役立てていただければ嬉しいです。
ここ のサイトが参考になりました。