使用端口443连接到Heroku

Pra*_*har 4 ssh heroku

我是一名大学生,除了44,443之外的所有港口都被封锁了.我可以通过连接到github

Host github.com                                                                                    
  Hostname ssh.github.com
  Port 443
Run Code Online (Sandbox Code Playgroud)

git push heroku master 给我这个错误:

ssh: connect to host heroku.com port 22: Connection refused
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我已经尝试过在这里发布的解决方案,但我仍然没有工作.有没有办法可以连接到heroku部署我的网站?

非常感谢

Naa*_*old 7

Heroku ssh只适用于端口22.然而,有一个插件可以让你通过HTTP推送.但它不使用git.相反,你heroku push.

https://github.com/ddollar/heroku-push


Azi*_*zSM 5

如果您的SSH端口被阻止,并希望使用备用端口推入heroku,则可以考虑使用Tunneling

要进行隧道传输,您需要让其他PC或服务器驻留在受阻网络之外,并且可以访问端口22。

对于以下情况,我们可以使用家用PC隧道连接到heroku服务器。由于大学网络仅允许端口80和443,因此我们可以将House PC设置为通过端口443接收连接并将其通过隧道连接到端口22。

在House PC上:

  1. 将家用PC中的SSH服务器配置为在端口443上运行。 请参考此处以在多个端口上配置SSH服务器。

大学电脑:

  1. 配置大学PC来解析git_tunnel别名以指向端口9001上的localhost。编辑~/.ssh/config并添加以下内容

    # ~/.ssh/config
    
    Host git_tunnel
       Hostname 127.0.0.1
       User git
       Port 9001
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加一个新的远程别名tunnel,它将指向git@git_tunnel:{app name}.git

    git remote add tunnel git@git_tunnel:{app name}.git

  3. 从大学PC建立到住宅PC的隧道,该PC在端口443上侦听。

    ssh -L 9001:heroku.com:22 -p 443 root@housepc.com

  4. 使用tunnel先前创建的别名部署到heroku

    git push tunnel master