Truques com SSH
Posted by Paulo em 09/04/2012
Tradução do original disponível em: http://linuxaria.com/howto/trucchi-con-ssh?lang=en
Neste artigo, quero mostrar alguns usos, nada triviais, do ssh, mas primeiro:
O que é SSH?
Secure Shell or SSH é um protocolo de rede que permite a troca de dados utilizando um canal seguro entre dois dispositivos de rede. As diuas principais versões desse protocolo são conhecidas por SSH1 ou SSH-1 e SSH2 ou SSH-2. Utilizados principalmente em sistemas baseados em Linux e Unix para acessar contas de usuário em modo texto, o SSH foi desenvolvido como um substituto para o Telnet e outros tipos de acessos remotos menos seguros, que enviam informações, por exemplo senhas, em texto puro, expondo-as para pacotes de análise de pacotes. A criptografia utilizada pelo SSH tem a intenção de oferecer confidencialidade e integridade de dados através de redes inseguras, como a Internet.
Normalmente, a autenticação é feita através do envio de uma senha, mas é possível gerar uma chave pública no seu computador e exportá-la para o computador remoto, dessa forma, as autenticações serão feitas automaticamente.
Veja também este tutorial
Alguns exemplos do mais simples para o mais complicado:
ssh user@host
Permite que um usuário (user) se conecte ao computador remoto (host) através do protocolo ssh.
——————————————————————
ssh -X user@host
Permite que um usuário (user) se conecte a um computador remoto (host) e redireciona o protocolo X11 através do ssh, permitindo a visualização do ambiente gráfico remoto no computador local.
——————————————————————
ssh user@host remote command
Executa um comando (command) no computador remoto (host) através da conta do usuário (user).
——————————————————————
for host in host1 host2 host3; do echo -n $host:; ssh $host uptime; done;
Roda um comando em um grupo de nós em paralelo (é preciso utilizar a chave pública, ou haverá um pedido de senha para cada um dos computadores remotos).
——————————————————————
$ssh-copy-id user@host
Copia as chaves públicas do user@host para habilitar conexões ssh sem o fornecimento de senha.
——————————————————————
cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys”
Copia a chave pública ssh para um servidor, a partir de uma máquina que não possui uma identificação ssh-copy-id
Se seu sistema operacional é um Mac OS X ou alguma outra variante *nix que não vem com o ssh-copy-id, esse comando de uma única linha permitirá que você adicione sua chave pública na máquina remota, para acessá-la sem a necessidade de senha.
——————————————————————
ssh -N -L2001:localhost:80 user@somemachine
Inicia um túnel de uma máquina (somemachine), pela porta 80, para a maquina local (localhost) na porta 2001. assim é possível acessar o site remoto através do endereço http://localhost:2001/
——————————————————————
ssh user@host cat /path/to/remotefile | diff /path/to/localfile –
Compara um arquivo remoto com um arquivo local
Útil para verificar se existem diferenças entre arquivos remotos e locais.
——————————————————————
ssh -t reachable_host ssh unreachable_host
Conexão SSH através de um “host in the middle”, ou “máquina no meio”.
Uma máquina pode estar indisponível a partir da rede local (unreachable_host), mas acessível através de uma máquina em outra rede (reachable_host). Esse comando cria uma conexão para unreachable_host através de uma conexão oculta para reachable_host.
——————————————————————
ssh -t remote_host screen -r
Anexa a tela através do ssh
Anexa diretamente uma seção de tela remota (economiza um processo bash parent inútil)
——————————————————————
yes | pv | ssh $host “cat > /dev/null”
Teste em tempo real de tráfego de rede ssh
Conecta à máquina remota (host) via ssh e mostra a velocidade de transferência em tempo real, direcionando todos os dados transferidos para /dev/null
É necessário que o pacote pv esteja instalado
Debian/Ubuntu: ‘apt-get install pv’
Fedora: ‘yum install pv’ (pode ser preciso habilitar o repositório ‘extras’)
——————————————————————
ssh user@host cat /path/to/some/file | xclip
Copia a entrada padrão (stdin) para o buffer X11
Você já precisou copiar um arquivo remotamente para a sua máquina para incluir seu conteúdo em um e-mail? O xclip pode ajudar nisso. Ele copia a entrada padrão (stdin) para o buffer X11, dessa forma, tudo o que é preciso fazer é pressionar o botão central do mouse para colar o conteúdo daquele enoooorme arquivo.
——————————————————————
sshfs name@server:/path/to/folder /path/to/mount/point
Monta a pasta folder/filesystem através do SSH
Instale o pacote SSHFS de http://fuse.sourceforge.net/sshfs.html
Isso possibilitará a montagem de uma pasta segura pela rede.
Related articles
- testing facebook apps with ssh reverse tunnels (bitkickers.blogspot.com)
- Uploading Known ssh Host Key in EC2 user-data Script (alestic.com)
- Getting the Most Out of SSH (tech.slashdot.org)
- Comprehensive Server Guide (wiki.archlinux.org)
- Difference between SSH & Telnet (linuxzynga.wordpress.com)
- Secure Shell (wiki.archlinux.org)
- Sshfs (wiki.archlinux.org)
- On SSH (restreaming.wordpress.com)
- SSH Commands (cyberiuszeus.wordpress.com)
- SSH: More than secure shell (matt.might.net)
- Using SSH Agents with GNU Screen (and Byobu) (administratosphere.wordpress.com)
Deixe um comentário