Host para hospedar o túnel SSH

2

Eu quero criar um túnel SSH completo entre dois servidores Ubuntu 12.04, (eu descobri sobre o SSHuttle mas por causa de um bug no tratamento de descritores de arquivos ele irá travar sob alta carga) muito parecido com IPSEC mas porque eu preciso dele somente para dois hosts, a complexidade de criar uma configuração IPSEC completa parece ser um exagero.

O que eu quero alcançar é que todos os dados entre server1 e server2 serão criptografados sem a necessidade de criar milhares de portas dinâmicas SSH.

    
por Ba7a7chy 21.05.2014 / 12:55

1 resposta

2

Esta resposta pertence a brandonchecketts .

Suponha que você tenha dois hosts nomeados como Host-A e Host-B. Agora vamos criar um túnel SSH entre esses dois e garantir que o túnel esteja funcionando & amp; viver o tempo todo.

Configuração Precisa ser feita para o Host-A:

Abra seu terminal, vire root e cole o código um após o outro

useradd -d /home/tunnel tunnel
passwd tunnel 
su - tunnel    

o próximo passo é criar uma chave SSH

No terminal colar como

ssh-keygen

e escolha a opção padrão para todos os pedidos e copie a chave com

cat /.ssh/id_rsa.pub

Agora, desta vez, temos que configurar o Host-B

Abra seu terminal e execute estes comandos

useradd -d /home/tunnel tunnel
passwd tunnel 
su - tunnel

e no tipo de terminal como

mkdir .ssh
vi .ssh/authorized_keys

Ele abrirá um arquivo no terminal e colará a chave copiada acima do Host-A.

Agora, no tipo de terminal,

vi /home/tunnel/check_ssh_tunnel.sh

e cole como

createTunnel() {
    /usr/bin/ssh -f -N -L13306:hostb:3306 -L19922:hostb:22 tunnel@hostb
    if [[ $? -eq 0 ]]; then
        echo Tunnel to hostb created successfully
    else
        echo An error occurred creating a tunnel to hostb RC was $?
    fi
}
## Run the 'ls' command remotely.  If it returns non-zero, then create a new connection
/usr/bin/ssh -p 19922 tunnel@localhost ls
if [[ $? -ne 0 ]]; then
    echo Creating new tunnel connection
    createTunnel
fi

salve e feche e torne-o executável com

chmod 700 /home/tunnel/check_ssh_tunnel.sh

e, em seguida, execute o script, ele iniciará um túnel com o PC remoto.

Leia o link acima, é obrigatório.

    
por rɑːdʒɑ 21.05.2014 / 13:14