Como configurar o redirecionamento de porta depois que uma conexão ssh foi aberta?

13

Estou usando o openssh no cliente e no servidor. Sei que posso executar ssh -Lou ssh -Rconfigurar alguns redirecionamentos de portas no ssh. No entanto, como são parâmetros de linha de comando, esses redirecionamentos devem ser gravados antes da conexão ser aberta.

Posso configurar redirecionamentos de porta imediatamente usando o cliente ssh da linha de comando?

Quando usei o PuTTYcliente ssh, eu pude configurar interativamente um redirecionamento de porta enquanto uma conexão já estava aberta, sem cair nem reconectar, portanto, sei que é tecnicamente possível.

Denilson Sá Maia
fonte

Respostas:

24

Se você estiver usando a linha de comando SSH e não tiver desativado o recurso de caractere de escape , poderá digitar ~Capós uma nova linha para abrir um miniconsola no cliente ssh. Em seguida, digite -L port:host:portou -R port:host:portou -D portcomo você faria na linha de comando para adicionar um redirecionamento ou -KR portremover um redirecionamento.

Um método mais flexível para configurar redirecionamentos sem refazer a autenticação é iniciar o primeiro cliente ssh como mestre ( -Mou -o ControlMaster=auto) e os clientes subsequentes como escravos ( -Sou -o ControlMaster=auto). Os escravos escavam um túnel através da conexão estabelecida pelo mestre. Pode ser necessário definir ControlPathna linha de comando ou no seu ~/.ssh/config; consulte a descrição das opções na ssh_configpágina de manual para obter mais informações.

Gilles 'SO- parar de ser mau'
fonte
Caso alguém ~C escape not available to multiplexex sessionsencontre o problema como eu fiz agora, não procure a sua conexão mestre. Em vez disso, basta adicionar -O forwardao seu comando ssh port forwarding, como em ssh -O forward -nfL 1234:whatever:1234 theservere ele funcionará.
19416 Patrick