
Exemplo de caso de uso:
- Estou trabalhando em meu laptop com Mac OS X (A) e estou conectado ao meu servidor de desenvolvimento (B) via SSH.
- Eu tenho um script que irá gerar um URL do GitHub para o arquivo/ramificação que estou aberto no momento em meu editor em (B).
- Gostaria de abrir esse URL em um navegador do meu laptop (A).
Outros casos de uso podem incluir:
- Atualize meu navegador sempre que salvar um arquivo
- Tocar uma música localmente quando eu emitir umcomando git
- Abra um ticket do Jira correspondente à filial que fiz check-out.
Responder1
Você pode usar o túnel reverso SSH. Funciona assim; faça isso na máquina que você está usando aqui, remote_server
é o nome do servidor remoto:
ssh -R 13000:localhost:22 remote_server
E exiba em imagem no local machine
seu remote server
:
ssh <USERNAME>@localhost -p 13000 "DISPLAY=:0 ristretto <IMAGE>"
EDITAR: Pode não haver servidor X instalado na máquina Mac OS, eu não o uso, mas a ideia geral permanece a mesma. A vantagem de usar o túnel reverso é que sua máquina local não precisa ter um endereço IP público.
Responder2
Esta pode não ser a maneira mais elegante de abordar isso, mas - como você está usando o Mac OS X - a única coisa que consigo pensar se você já estiver remoto para outra máquina é emitir um comando SSH de volta ao seu host assim . O grande pré-requisito é que você precise ter seu servidor SSH instalado e funcionando em seu laptop Mac OS X e certificar-se de que as regras de firewall do seu roteador permitam conexões SSH na porta 22 para que isso funcione.
Então, vamos supor que seu laptop tenha um nome machineA
e você queira abrir uma URL como http://google.com
na máquina remota (B) então você apenas emitiria este comando SSH na máquinaB.
ssh username@machineA 'open http://google.com'
Isso iniciaria um SSH conectado de volta à sua máquina local e executaria o comando open http://google.com
que abriria uma janela do navegador – com base no seu navegador padrão – que irá para a URL que foi passada para ele; http://google.com
.