O Futuro é a Liberdade

Discussões sobre Software Livre e Sociedade

Truques com SSH

Posted by Paulo em 09/04/2012

Cryptographically secure pseudorandom number g...

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?

Da Wikipedia:

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.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: