Github (SSH) a través de WIFI público, puerto 22 bloqueado

171

Actualmente estoy en un lugar público de WIFI y no puedo usar SSH (probablemente bloquearon ese puerto). Sin embargo, necesito esa conexión para hacer un git push.

➜ ssh -T [email protected]
ssh: connect to host github.com port 22: Connection refused

¿Es posible evitar esta restricción configurando un túnel SSH a través del puerto 80 y decirle github pushque use esa conexión? ¿Como hacer eso? Estoy en OSX (león). Esto debe ser un problema común?

ostroon
fuente
¿Alguien sabe cómo hacer esto para Launchpad.net?
Akiva

Respuestas:

370

Prueba esto:

$ vim ~/.ssh/config

Añadir

Host github.com
  Hostname ssh.github.com
  Port 443

Fuente: https://help.github.com/articles/using-ssh-over-the-https-port

prtitrz
fuente
66
@prtitrz alguna idea de cuál es la configuración para heroku?
Alextoul
32
solo para tu información, no tienes que abrir el archivo con vim.
Joel Brewer
1
¡Esto es genial! Pero yo también necesito hacer esto para heroku. ¿Algunas ideas?
J-bob
Consulte serverfault.com/a/253314 si está recibiendoBad owner or permissions on /home/.../.ssh/config
Sunil Kumar
¿Alguien sabe cómo hacer esto para launchpad.net?
Akiva
44

Lo mismo funciona para Bitbucket:

Host bitbucket.org
  Hostname  altssh.bitbucket.org
  Port  443

vía (anticuado / muerto)

vía, actualizado (2015-10-29)

the_karel
fuente
22

Además de configurarlo con el ~/.ssh/configarchivo, también puede simplemente incluir el número de puerto en la URL remota que usa. Sólo tienes que

  1. use una URL apropiada como en ssh://user@host:port/pathlugar de la user@host:pathtaquigrafía; y

  2. anteponer el ssh.subdominio a github.com.

Por ejemplo, en lugar de

[email protected]:cdbennett/python-gitlab.git

utilizar

ssh://[email protected]:443/cdbennett/python-gitlab.git
Colin D Bennett
fuente
1

No es necesario modificar el ~/.ssh/config. Puede agregar otro repositorio remoto a través de git remote add ...

// github
git remote add ssh://[email protected]:443/repo/name.git

// gitlab
git remote add ssh://[email protected]:443/repo/name.git
Krishan König
fuente
0

Encuentro dos maneras

primero

  • tor + torify

Después de instalar y configurar con éxito tor en el sistema, simplemente ejecute esto para verificar el uso de ssh tor.

torify ssh -Tv [email protected]


Segundo

  • tor + privoxy + sacacorchos

Primero configure tor desde el primer paso. Luego instale privoxy para convertir tor SOCKS5 a proxy HTTP.

sudo apt install privoxy

Luego instale sacacorchos

sudo apt install corkscrew

Coloque este archivo de configuración en: ~ / .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

O con ncat

Host gitlab.com
        User git
        ProxyCommand ncat --proxy 127.0.0.1:8118 %h %p

También puede usar nc en lugar de ncat

    ProxyCommand nc --proxy 127.0.0.1:8118 %h %p

Ahora ssh puede usar el proxy configurado.

EsmaeelE
fuente