Script para executar automaticamente a criação do túnel ssh

0

Sou um estudante de inglês e ainda aprendo muitas dessas coisas, então, por favor, tenha paciência comigo se eu não tiver uma compreensão completa do que estou tentando aqui.

Estou em um Mac, conectando-me a uma máquina Linux. Eu posso configurar um túnel ssh e conectar-me à máquina remota executando a seguinte linha de script:

ssh -f -L 2222:<remote_machine>:22 <user>@<remote_server> sleep 10; ssh -p 2222 <user>@localhost 

O que eu quero fazer é de alguma forma executar esta linha automaticamente. Agora, eu tenho que copiar e colá-lo no terminal. Eu tenho pares de chaves configurados, então não preciso digitar senhas, mas recebo o prompt do meu tipo de terminal. Estas são as duas etapas que eu gostaria de eliminar, para que eu possa abrir o terminal e executar um script que elimine essas duas etapas.

O que não consigo descobrir é como responder ao prompt "tipo de terminal" ou responder automaticamente a ele. Eu brinquei com a classe Expect, e com o módulo pexpect do Python, mas não tive sucesso (parece que um script esperado seria capaz de cuidar da parte terminal, mas ter problemas para criar o túnel e não perder a referência ao plano de fundo processo).

Eu tenho um applescript que faz o que eu quero, mas gostaria de uma solução mais portátil. Qualquer sugestão sobre onde procurar seria ótimo!

    
por Rebecca 19.04.2013 / 17:31

2 respostas

0

Você pode colocar este comando em um arquivo de texto normal, que começa com

#!/bin/bash
ssh -f -L 2222:<remote_machine>:22 <user>@<remote_server> sleep 10; ssh -p 2222 <user>@localhost 

Em seguida, marque-o como executável e ele deve começar com um clique duplo

Veja aqui mais informações sobre scripts de shell com o OS-X

link

    
por 19.04.2013 / 22:47
0

A maneira mais fácil deve ser criar um alias para este comando. Adicione esta linha ao seu arquivo $HOMe/.bashrc :

alias tunnel='ssh -f -L 2222:<remote_machine>:22 <user>@<remote_server> sleep 10; ssh -p 2222 user@localhost'

Então, a partir de um terminal normal, você poderá iniciar seu túnel executando

tunnel
    
por 19.04.2013 / 22:51