SSH conecta a um soquete UNIX em vez de hostname

3

Pergunta curta:

Como eu me conecto a um soquete unix local (~ / test.sock) via ssh? Este sockets encaminha para um servidor ssh real. O óbvio não funciona e não consigo encontrar nenhuma documentação:

public> ssh /home/username/test.sock
"ssh: Could not resolve hostname: /home/username/test.sock: Name of service not known"

Longa Pergunta:

O problema que tento resolver é conectar-me do meu servidor universitário ( public ) ao meu PC ( local ), que está por trás do NAT e não está visível para o público.

A solução canônica é criar um proxy / túnel ssh para local on public :

local> ssh -NR 2222:localhost:22 public

Mas isso não é possível, já que a administração proíbe a criação de portas. Então, pensei em usar o soquete do UNIX, o que funciona:

local> ssh -NR /home/username/test.sock:localhost:22 public

Mas agora, como posso me conectar a ele com o ssh?

    
por bvolkmer 25.06.2018 / 17:24

1 resposta

7

Você deve ser capaz de usar socat e ProxyCommand opção para ssh. ProxyCommand configura o cliente ssh para usar o processo proxy para se comunicar com seu servidor. socat estabelece comunicação bidirecional entre STDIN / STDOUT ( socat e ssh client) e seu soquete UNIX .

ssh -o "ProxyCommand socat - UNIX-CLIENT:/home/username/test.sock" foo
    
por 25.06.2018 / 17:34