====== Script para tunelamento para a rede do VeRLab ====== Este script abre um tunelamento em cascata para acessar computadores do VeRLab de fora da rede da UFMG. Esse tunelamento é interessante para acessar os repositórios do Subversion ou as páginas do Trac. Também pode ser utilizado por quem pretende navegar na home do verlab utilizando o nautilus de uma máquina fora da rede do Verlab. **Obs.:** Lembre-se de substituir as duas instâncias de "" pelo seu login do DCC e do VeRLab, logo no início do script. ===== Forma de uso ===== Copie o código-fonte do script para um arquivo local no seu computador, digamos ''~/ssh-verlab''. Habilite a permissão de execução nesse arquivo local: ''chmod a+x ~/ssh-verlab''. * Para iniciar os tunelamentos, execute apenas ''~/ssh-verlab''. Não é necessário executar em //background// (ou seja, não precisa usar o prefixo ''&''); * Para fechar os tunelamentos, execute ''~/ssh-verlab -d''. ===== Detalhes de funcionamento ===== Este script abre dois tunelamentos: um para o computador ''mica.dcc.ufmg.br'' (necessário para acessar qualquer outro computador do DCC); e o segundo, cascateado através do primeiro, para o serviço HTTPS do servidor ''davinci.verlab.dcc.ufmg.br'', disponível localmente na porta 4465. Com esse tunelamento, é possível acessar alguns os serviços do nosso servidor. Por exemplo: * ''https://localhost:4465/svn'' acessa o diretório dos repositórios do Subversion; * ''https://localhost:4465/trac'' acessa o diretório dos projetos do Trac. O script pode ser facilmente alterado para habilitar o tunelamento do X (basta adicionar -X ao segundo comando ''ssh'') ou para abrir tunelamentos para outras máquinas do VeRLab. No entanto, lembre-se de que são duas camadas de criptografia em ação, portanto a transferência de um grande volume de dados deve ocorrer de forma lenta. ===== Código-fonte do script ===== #!/bin/bash # Ajustar o valor das seguintes variaveis: USERNAME_VERLAB= USERNAME_DCC= # Opcoes de linha de comando if [[ "$1" == "-d" ]]; then DELETEONLY=1 fi # Apagando tuneis anteriores PROCESSLIST=$(ps aux | \ grep '[0-9] ssh -f -N -L 4465:localhost:443 ' | \ awk '{ print $2 }') PROCESSLIST=(${PROCESSLIST[@]} \ "$(ps aux | \ grep '[0-9] ssh -f -N -L 2265:davinci.verlab.dcc.ufmg.br:22 ' | \ awk '{ print $2 }')") if [[ -n ${PROCESSLIST[@]} ]]; then echo "Removendo conexoes antigas (${PROCESSLIST[@]})..." kill ${PROCESSLIST[@]} fi # Criando tuneis novos if [[ -z "$DELETEONLY" ]]; then echo "Conectando..." ssh -f -N -L 2265:davinci.verlab.dcc.ufmg.br:22 \ -o ExitOnForwardFailure=yes $USERNAME_DCC@mica.dcc.ufmg.br ssh -f -N -L 4465:localhost:443 -o Port=2265 \ -o ExitOnForwardFailure=yes $USERNAME_VERLAB@localhost fi echo "Ok." ===== Navegando em arquivos e pastas com o Nautilus ===== Faça o tunelamento com o seguinte comando: ssh -f @login.dcc.ufmg.br -L 1337:munch.verlab:22 -N Após realizado o tunelamento, abra o Nautilus e vá em: File->Connect to Server. Em Service Type, selecione SSH. Em server, escreva "localhost" (sem as aspas) e em port, 1337. Clique em connect para conectar. Será pedida uma senha, utilize a senha de acesso à rede do VeRLab.