2016-07-18 74 views
0

問題是,當我使用遠程連接字符串是這樣的:遠程Git不通過SSH工作://而是通過精細的工作SCP-如ssh

[email protected]_ip:admin/repo.git 

一切工作正常,但是當我使用:

ssh://[email protected]_ip:22/admin/repo.git 

我得到一個錯誤(在git的拉):

ssh: connect to host my_ip port 22: No route to host 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights and the repository 
exists. 

是的,我有正確的訪問權限與SSH密鑰,並將其與工作scp式連接字符串絕對沒問題。

我也可以用ssh客戶端(putty)連接到端口22上的ssh,沒問題。

+0

我的答案解決了你的問題嗎?如果是這樣,您應該將其標記爲已接受的答案。如果您需要更多信息,請隨時告訴我任何問題。 – ComputerLocus

回答

1

這是因爲它實際上是試圖與用戶ssh://git登錄,這就是爲什麼你無法登錄。第一個版本實際上是在存在的系統上使用git用戶。

您不應該指定協議來使用它,因爲它已經通過SSH連接。

+0

好的,讓我解釋一下情況。我正在嘗試做什麼。我在我的windows 7後面有NAT的Virtualbox。有運行gitlab和配置在該虛擬機上的靜態IP(讓我說192.168.0.100),然後我配置路由器轉發所有從端口5555到192.168.0.100:22,因爲我有靜態互聯網IP我測試這是否工作和成功連接到my_static_global_ip:5555通過SSH客戶端(putty)完美工作。但用git設置不同的端口只需要使用 - > ssh://因爲scp-like con.string不允許設置自定義端口。 – Payalord

+0

我需要這一切嗎?我試圖連接我的生產服務器與我的本地VM從那裏通過my_static_global_ip:端口,但看起來像這不是混帳相關的問題。因爲我試圖使用ssh命令將我的產品連接到此IP:端口。並失敗,並顯示錯誤消息:沒有路由到主機。但是當我從我的產品ping IP:端口(IP:5555)時,它是開放的並且可以達到正常。 +如果我通過此IP通過我的SSH通過我的SSH客戶端連接:5555也可以。只有生產給了我:沒有路線到主人。 – Payalord

+0

好的,在這種情況下,你在問題中使用的東西應該可以工作,但是你的意思是用'5555'端口連接到它而不是'22'?所以試試:'ssh:// git @ my_ip:5555/admin/repo.git'。您還可以嘗試在SSH配置中設置端口:http://stackoverflow.com/a/1558735/1044984 – ComputerLocus