Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
28
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@n_slender

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

きっかけ

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サーバの情報が秘匿されている場合などは、簡単には使えないですが...

参考サイト

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
28
Help us understand the problem. What are the problem?