O SSH não autentica apenas através de uma conexão criptografada - todo o seu tráfego SSH é criptografado. Quer você esteja transferindo um arquivo, navegando na Web ou executando um comando, suas ações são particulares.
Túnel SSH
O tunelamento SSH permite que um servidor SSH remoto funcione como um servidor proxy. O tráfego de rede do seu sistema local pode ser enviado através da conexão segura ao servidor SSH. Por exemplo, você poderia direcionar o tráfego de navegação na Web por meio de um túnel SSH para criptografá-lo. Isso evitaria que as pessoas em redes públicas Wi-Fi vissem o que você está navegando ou ignorasse o website e os filtros de conteúdo em uma rede local.
Obviamente, o tráfego fica descriptografado quando sai do servidor SSH e acessa a Internet. Para um servidor da Web que você acessa pelo túnel, sua conexão parecerá estar vindo do computador que está executando o servidor SSH, não do sistema local.
No Linux, use o seguinte comando para criar um proxy SOCKS na porta 9999 em seu sistema local:
ssh -D 9999 -C user@host
‘
Abra seu navegador da Web (ou outro aplicativo) e defina o proxy SOCKS para porta 9999 e localhost. Usar localhost porque a entrada do túnel está sendo executada em seu sistema local.
Transferências de arquivos SCP
O comando scp, ou secure copy, permite transferir arquivos entre um sistema remoto que executa um servidor SSH e seu sistema local.
Por exemplo, para copiar um arquivo local para um sistema remoto, use a seguinte sintaxe:
scp /path/to/local/file user@host:/path/to/destination/file
scp -r user@host:/path/to/remote/file /path/to/destination/file
Você também pode configurar o acesso scp sem senha e usar o scp para transferir arquivos de dentro dos scripts.
Montando diretórios remotos
Você pode montar uma pasta remota via SSH e acessá-la como qualquer outro diretório em seu sistema, ignorando o tedioso processo scp para transferências de arquivos.
Se você estiver usando o Ubuntu ou outro ambiente de área de trabalho baseado no GNOME com o gerenciador de arquivos Nautilus, inicie o gerenciador de arquivos, clique no menu Arquivo e selecione Conectar ao Servidor.
Se você não tiver acesso a uma GUI ou preferir usar um utilitário de terminal, poderá usar o sshfs para montar o sistema SSH remoto como um sistema de arquivos em seu computador.
Preservando Sessões de Terminal
Toda vez que você fizer login com o SSH, você verá uma nova sessão de terminal. Quando você sair, sua sessão será encerrada. Se preferir preservar uma sessão de terminal entre sessões SSH, use o GNU Screen ou um utilitário alternativo.
Depois de entrar no sistema remoto, execute o tela comando para iniciar uma sessão de tela. Execute comandos dentro da sessão de tela e pressione Ctrl-a e depois d para desanexar da sessão de tela.
A sessão de tela e os comandos em execução continuam sendo executados em segundo plano. Para reconectar-se à sessão de tela mais tarde, execute o tela -r comando.
O SSH pode aceitar comandos para executar quando você efetua login, para que você possa se conectar a um servidor SSH e reconectar a uma sessão de tela com um único comando:
ssh -t user@host screen -r
Visualizando Impressões Digitais Chave
Quando você se conecta ao seu servidor SSH de outro sistema, você verá uma mensagem de aviso se o sistema ainda não souber a chave. Esta mensagem ajuda a garantir que o sistema remoto não esteja sendo representado por outro sistema.
Você pode habilitar isso no seu arquivo de configuração SSH ou apenas especificá-lo como uma opção durante a execução do comando SSH. Por exemplo, execute o seguinte comando para se conectar a um servidor SSH com o VisualHostKey ativado:
ssh -o VisualHostKey=yes user@host
Você tem outras dicas para compartilhar? Deixe um comentário e nos avise.