非標準ポートのリモートリポジトリを使用する


100

私はリモートリポジトリ用にローカルgitプロジェクトを設定しています。リモート・リポジトリーが非標準ポート(4019)で提供されています。

しかし、動作しません。ある何

[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
[remote "origin"] 
    url = ssh://[email protected]:4019/var/cache/git/project.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

(ポートおよびホストは、実際のポートとホストのプレースホルダです。)

ssh: connect to host git.host.de:4019 port 22: Connection refused 
fatal: The remote end hung up unexpectedly 
error: failed to push to 'ssh://[email protected]:4019/var/cache/git/project.git' 

私の地元のgitの設定がas followsです:代わりに、私は、次のエラーメッセージが表示されます私のgitの設定で間違っている?

+8

y明示的に 'ssh://'をURLの前に置かないと、それは別のフォーマットだと思います。したがって、 'example.com:444/etc /'はportを経由してexample.comの/444/etc /であるのに対し、ssh://example.com:444/etc/'はexample.comの/etc/22. 26 7月. 112011-07-26 14:42:49

+4

@Kzqaiの発言は重要です。すなわち、 'git remote set-url origin [email protected]:443/yourname/yourrepo /'それが動作しない場合です。しかし、もしあなたが 'git remote set-url origin ssh://[email protected]:443/yourname/yourrepo /'これが動作するならば 28 11月. 132013-11-28 13:11:32

  0

Google-fuの場合 - 私が持っていたときに私はphabricatorでこの問題を抱えていたそれは2222の非デフォルトポートに設定されます。今、ソート! 21 2月. 172017-02-21 09:36:40

90

あなた.ssh/configにこのような何かを置く場合:

Host githost 
HostName git.host.de 
Port 4019 
User root 

を、あなたは基本的な構文を使用することができるはずです:指定するとき

git push githost:/var/cache/git/project.git master 
+3

SSH設定は回避策かもしれませんが、man git-pushはssh://[user @] host.xz [:port]/path/to/repoというssh url形式を使用しているため、興味があります。 git/ 13 10月. 092009-10-13 07:50:21

+1

ssh://fake @ localhost:333 /偽のアドレスにプッシュしようとしたため、(期待どおり) "ポート333:接続が拒否されたため、設定git/sshバージョンの問題である可能性があります。 " 13 10月. 092009-10-13 08:00:56

+28

これをまだ必要としている人には注意が必要です。あなたのホームディレクトリを基準にしたパスの場合、 'git clone ssh://username @ hostname:333 /〜/repo'です。そうでない場合は' git clone ssh://username @ hostname:333/path/to/repo'です。 Windowsマシン上の絶対パス 05 7月. 122012-07-05 21:56:26

  0

:c:/windows/system32/drivers/etc/hosts必要に応じてホスト名を設定してください(例:仮想マシン/サーバ) 21 2月. 172017-02-21 09:36:27


6

SSHは:構文を使用していませんポート。

 
Host git.host.de 
    Port 4019 

そして、ポート番号なしでちょうどgit.host.deを指定します。これを行う最も簡単な方法は、あなたの~/.ssh/configファイルを編集して追加することです。


9

これはあなたの問題ではなく、それを直接固定を回避し、私は~/.ssh/configファイルを追加し、この

Host git_host 
HostName git.host.de 
User root 
Port 4019 

のようなものを持つお勧めします、あなたは

url = git_host:/var/cache/git/project.git 

を持つことができ、あなたがすることもできますssh git_hostscp git_host ...とすべてがうまくいくでしょう。


103

http://git-scm.com/docs/git-cloneに指定されているSSHベースのGitのアクセス方法は、完全なURLまたはSCPのような構文のいずれかを使用して<repo_path>/.git/configで指定することができます。

URLのスタイル:

url = ssh://[[email protected]]host.xz[:port]/path/to/repo.git/

SCPスタイル:

url = [[email protected]]host.xz:path/to/repo.git/

SCPスタイルでは、ポートの直接変更は許可されておらず、代わりにssh_configホスト定義に依存しています

ssh my_git_host 

<repo_path>/.git/configであなたのSCP-スタイルURIを変更:

Host my_git_host 
HostName git.some.host.org 
Port 24589 
User not_a_root_user 

次にあなたがシェルでテストすることができます。あなたの~/.ssh/configなどにおけるイオン

url = my_git_host:path/to/repo.git/
  0

Soooooo ...本当に必要なのはssh://おそらく、URLの前に。 26 7月. 112011-07-26 14:40:23

  0

sshのURLを指定できないことや、scp(デフォルト)がポート番号を許可していないことに気付かなかった。知っておいてよかった。 10 10月. 142014-10-10 16:36:53

  0

scpは実際にポート番号を許可します(オプションキーは大文字のPでなければなりません):scp -P 2020ファイル/to/copy user @ host:path/to/copy/file/to 25 5月. 162016-05-25 17:03:15


19

はこれを試してみてください

git clone ssh://[email protected]:11111/home/git/repo.git 
+1

こんにちはリッキー、 git cloneの構文を使用します。ssh://user @ machine:port/path-to-repo 18 9月. 152015-09-18 10:34:07