職場でGitHubに接続したいので、httpプロキシを経由する必要があります。私はコマンドを使用してcURLを使用してFTPに出かけることができます
curl -v -g --ftp-pasv --upload-file MYFILE --proxy PROXYADDRESS:PROXYPORT --proxy-ntlm --proxy-user WINDOWSDOMAIN\WINDOWSUSER:WINDOWSPASSWORD ftp://FTPUSER:FTPPASS@FTPURL/
これまでのところ、Gitに同等の設定を提供することはできませんでした。
Draconianプロキシを介したGithubの使用 cygwinでの指示に従ってみました。
コルク抜きをインストールし、GitHubにSSHで接続しようとしました
ssh github.com
または
ssh ssh.github.com
私は戻ってきます
ssh:ホスト名を解決できませんでしたssh.github.com:ホスト名もservnameも指定されたか、不明です。
Httpおよびhttpsプロキシを設定しようとしました。
Git --config -lの出力を次に示します
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=C:/Program Files/Git/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
user.name=Peter Wilkinson
[email protected]
github.user=ProggerPete
github.token=shouldprobablykeepthissecret
http.proxy=http://somedomain\someuser:[email protected]:80
https.proxy=http://somedomain\someuser:[email protected]:80
私も走った
export https_proxy=http://somedomain\someuser:[email protected]:80
export http_proxy=http://somedomain\someuser:[email protected]:80
set https_proxy=http://somedomain\someuser:[email protected]:80
set http_proxy=http://somedomain\someuser:[email protected]:80
次に、クローンして取得します。
$ git clone https://[email protected]/project/JavaScript-Maven-Plugin.git
Cloning into JavaScript-Maven-Plugin...
Password:
error: The requested URL returned error: 407 while accessing https://ProggerPet
@github.com/project/JavaScript-Maven-Plugin.git/info/refs
fatal: HTTP request failed
これは、プロキシで認証に失敗しているように見えます。ただし、私はcURLを介したFTPで機能する同じログインとパスを使用しています。
接続するにはどうすればよいですか?
頭をバッシングした後、私はついに偶然出会った http://cntlm.sourceforge.net/ 。 NTLM認証を理解するプロキシプロキシです。
私はそれをインストールし、httpプロキシについて伝えました。次にgitをCNTLMに向けると、すべて動作し始めました。
これが非常にイライラするので、同じ状況で他の人に役立つことを願っています。
通常、設定する必要があるのは次のものだけです。
set http_proxy=http://<login_internet>:<password_internet>@aproxy:aport
set https_proxy=http://<login_internet>:<password_internet>@aproxy:aport
(https_proxy
は同じものを指しますhttp、httpsではなく、プロキシアドレス)
「 gitでHttpが機能しない 」も参照してください。
〜/ .curlrcにプロキシ情報を入れることができます:
/home/usr/.curlrc
プロキシ= proxy.proxyhost.com:8443
proxy-user = user:pass
proxy-ntlm = true
noproxy = localhost、127.0.0.1、intraweb.company.com
プロキシ経由でsshをgithubにトンネリングできる可能性は低いです。ただし、githubはすべてのリポジトリにhttps URLを提供するため、sshを必要とせずにプッシュできます。既にリポジトリをチェックアウトしている場合は、使用するURLを変更できます
git remote set-url Origin https://github.com/project/repo.git
git remote set-url --Push Origin https://[email protected]/project/repo.git
(プッシュアクセスが必要ない場合は、2行目をスキップします)。これと、VonCで述べられている環境変数(https_proxy)の設定により、プロキシ経由のアクセスが可能になります。