25
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

httpプロキシサーバがわかればGitHubは使える

Last updated at Posted at 2016-02-26

きっかけ

GitHubで、リポジトリのcloneのURLが、気づいたらhttpsにrecommendedをつけるようになっていて、httpsが通る環境ならGitHubが使えるのではと思い、すこし調べてみました。

https推奨なのは?

公式のwhich-remote-url-should-i-useによると、要はfirewallとかで制限されていても、httpsはproxy経由などで使えるでしょう、ということ。GitHubにwebブラウザでアクセスできる環境なら、使えるはずと。

使い方(プロキシなしなら)

プロキシ経由しないでhttps通信してるなら、URLをhttpsのにするだけでOKです。(まず、ありえないでしょうが...)

git clone https://github.com/[user_name]/[repo_name].git

$ git remote -v 
origin  https://github.com/[user_name]/[repo_name].git (fetch)
origin  https://github.com/[user_name]/[repo_name].git (push)

となっていれば、 git push origin master でmasterにpushできます。

この際、GitHubのユーザ名とパスワードでの認証が必要になります。
二段階認証にしていたら、アクセストークンでの認証に変わります。(詳細はこちら

git-credential-cache などで、認証情報を保持していれば、毎回やる必要はなくなるようです。

プロキシが必要なとき

このときは、gitにproxyサーバの設定を追加すれば、上記のやり方が使えるようになります。
ネットワーク管理者などにhttpプロキシサーバの情報を教えてもらいましょう。

git config --global http.proxy http://[proxy_host]:[proxy_port]

プロキシサーバの情報を気軽に聞けないとき

自分のマシンの設定から辿っていきましょう。(ここから先は自己責任でお願いします。)

IEの場合、

  • 自動構成スクリプト (proxy.pac)
  • プロキシサーバー

のいずれかが、レジストリに設定されているでしょう。

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings の下の

  • AutoConfigURL
  • ProxyServer

proxy.pacの場合、アクセス元とアクセス先に応じたproxyサーバの設定があるはずなので、そこから使えそうなを探しましょう。

ProxyServerの場合は、それをそのまま使えばいいはずです。

(unix系のマシンなら探しやすいかな...?)

やっぱりSSHでやりたいとき

ありがたいことにhttpsのポート443でgithubにssh接続できます。
https://help.github.com/articles/using-ssh-over-the-https-port/

sshにhttpプロキシの設定をつけくわえればOKです。
~/.ssh/config に次を追記します。

Host github.com
    User hoge
    HostName ssh.github.com
    Port 443
    ProxyCommand connect -H [proxy_host]:[proxy_port] %h %p


windowsの場合は、connectに対応するものは、git for Windowsとセットになっているconnect.exeなどにする必要があります。

これで、つぎのようにできれば成功です。(githubに公開鍵を登録して、その秘密鍵で認証しているものとします。)

$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not
provide shell access

結論

webブラウザでGitHubにアクセスできるなら、proxyサーバがわかればGitHubは原理的には使えます。
認証が必要なproxyサーバだったり、proxyサーバの情報が秘匿されている場合などは、簡単には使えないですが...

参考サイト

25
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?