メモ: proxy越しにgithubに接続する 【追記あり】
基本的にはオフィシャルからリンクされているガイドに従います。
Dealing with firewalls and proxies - Guides - GitHub
その中でも、今回はこちらを参考にしました。
Linux....: Why I love GIT and GITHUB..:)
この中の、ルートになれる人向けの方法のほうです。また、こちらの記事に書いてない注意点として、
- corkscrewはportからインストールできる
- corkscrewのコマンド(.ssh/config と .ssh/proxy_cmd_for_github に書くやつ)は、port番号の前にホスト名をつける。
- ex.: corkscrew your.proxy.host 8080 %h %p ~/.ssh/proxyauth
- オフィシャルのヘルプにあるssh keyのインストラクションに従ってssh keyを作った場合、プライベートキー(記事では.ssh/github となっている)はid_rsa
追記
こちらの記事に従って設定し直しました。
Return Boolean True: Using Github Through Draconian Proxies (Windows And Unix)
~/.ssh/config の中身は、
ProxyCommand /usr/bin/corkscrew proxy.example.com 443 %h %p ~/.ssh/myauth Host github.com User git Port 22 Hostname github.com IdentityFile "/media/truecrypt1/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes Host ssh.github.com User git Port 443 Hostname ssh.github.com IdentityFile "/media/truecrypt1/Keys/GitHubKey.private" TCPKeepAlive yes IdentitiesOnly yes
あと手順をわすれかけているので、もう一度流れをまとめると。
- corkscrewをインストールする
- 上記の記事などを参考に、~/.ssh/config を設定する
- githubのssh keyの設定がまだなら、それも行う。参考資料はオフィシャルのヘルプ。
- git remote add overproxy ssh://git@github.com:22/username/repo_name.git などとして、プロクシ用のリモーレポジトリを登録する。
- 普通は git@github.com:username/repo_name.git のところを、上記のようなフォーマットで書く
- 以上で、git push overproxy master などとできるようになる。