2012-05-11 38 views
11

Giới thiệu tóm tắt Bối cảnh:
Hi, tôi là một sinh viên đại học (sau Proxy 10.3.100.211:8080), mới để ROR, Git & Heroku và đã theo Ruby on Rails hướng dẫn. Tôi giải quyết vấn đề đẩy git repo qua ssh sử dụng cấu hình sau đây trong tập tin ~/.ssh/config của tôi (và nó làm việc một cách hoàn hảo sau đó):Lỗi trong git push chủ Heroku qua ssh đằng sau Proxy

Host github.com 
Hostname ssh.github.com 
User git 
ProxyCommand corkscrew 10.3.100.211 8080 %h %p 
Port 443 

Vấn đề:

Tuy nhiên, trên sau https://devcenter.heroku.com/articles/git sử dụng Heroku cho việc triển khai ứng dụng trực tuyến, tôi nhận được lỗi sau:

$git push heroku master 
ssh: connect to host heroku.com port 22: Connection refused 
fatal: The remote end hung up unexpectedly 

tình trạng hiện tại của tôi là: $ git -v từ xa

heroku [email protected]:deep-dusk-1030.git (fetch) 
heroku [email protected]:deep-dusk-1030.git (push) 
origin [email protected]:shaileshgupta/testapp.git (fetch) 
origin [email protected]:shaileshgupta/testapp.git (push) 

Bất cứ ai có thể giúp tôi với github.com như cài đặt cho heroku.com được ghi trong tệp ~/.ssh/config của tôi để kết nối liền mạch thông qua ssh phía sau proxy bằng PORT 443/22.

Mọi trợ giúp sẽ được đánh giá cao.

Cập nhật (Một số thông tin thêm) tôi đã cố gắng cài đặt sau và đã nhận lỗi sau:

Cấu hình:

Host heroku.com 
    Hostname ssh.heroku.com 
    User git 
    ProxyCommand corkscrew 10.3.100.211 8080 %h %p 
    Port 443 

Lỗi:

$ git push heroku master 
ssh_exchange_identification: Connection closed by remote host 
fatal: The remote end hung up unexpectedly 

cấu hình khác:

Host github.com, heroku.com 
    Hostname ssh.github.com 
    User git 
    ProxyCommand corkscrew 10.3.100.211 8080 %h %p 
    Port 443 

Lỗi:

$ git push heroku master 
ERROR: Repository not found. 
fatal: The remote end hung up unexpectedly 
+0

Vậy ... bạn không cần cấu hình proxy cùng để đạt được 'heroku.com' như bạn cần để đạt được' github.com'? – larsks

+0

Tôi đã thử nó, nhưng nó được hiển thị lỗi sau: ** $ git đẩy master master ** LRI: Không tìm thấy kho lưu trữ. gây tử vong: Kết thúc từ xa bị treo bất ngờ. – shailesh

+0

Có vấn đề gì khi sử dụng ssh.heroku.com làm Tên máy chủ không? Heroku cũng sử dụng ssh.heroku.com làm Tên máy chủ khi github sử dụng ssh.github.com cho Tên máy chủ không? – shailesh

Trả lời

5

Trong .ssh bạn/config viết này:

Host git_heroku 
    Hostname heroku.com 
    User git 
    ProxyCommand corkscrew 10.3.100.211 8080 %h %p 
    Port 443 

và trong sự thay đổi .git/config của bạn

[email protected] 

để

Dòng đầy đủ cho một từ xa sẽ giống như thế:

[remote "appname"] 
    url = git_heroku:appname.git 
    fetch = +refs/heads/*:refs/remotes/appname/* 

git_heroku là một bí danh; bạn cần thay đổi cấu hình git để sử dụng bí danh đó.

+0

Bạn có thể cho tôi một ví dụ về chính xác tệp .git/config của tôi sẽ trông như thế nào không? Ý bạn là gì, "thay đổi nó cho bí danh sử dụng" – Daniel

+0

@Daniel Tôi đã sao chép câu trả lời này - hy vọng nó rõ ràng hơn một chút. Tôi đã thêm những gì tôi nghĩ * nên đi trong tập tin cấu hình git, nhưng hãy cho tôi biết nếu nó làm việc cho bạn. – culix

+0

Khi bạn nói "git_heroku là một bí danh", bạn có nghĩa là một bí danh cho [email protected], phải không? Vì vậy, dòng trong tệp cấu hình phải là: [alias] \t git_heroku = [email protected] ... đúng không? – grooble

1

Ngoài câu trả lời ở trên trong của bạn.ssh/config:

  • sử dụng ssh.heroku.com cho Hostname thay vì heroku.com
  • chắc chắn rằng bạn bao gồm tập tin nhận dạng của bạn IdentityFile "path to identity file"
  • không chỉ định Port

Vì vậy .ssh/tập tin cấu hình ngoại hình của tôi một cái gì đó như thế này:

Host git_heroku 
ProxyCommand corkscrew proxy.usurt.ru 3128 %h %p 
HostName ssh.heroku.com 
User git 
IdentityFile "~/.ssh/id_rsa.pub" 

Và dòng thích hợp trong tập tin .git/config:

[remote "heroku"] 
    url = git_heroku:still-taiga-2820.git 
    fetch = +refs/heads/*:refs/remotes/heroku/* 
Các vấn đề liên quan