Pode-se realmente dizer que o
SSH é o "canivete suíço" do administrador de sistemas. Muito mais do que apenas uma ferramenta segura que permite login remoto, esta aplicação permite realizar outras coisas.
Pode-se usar o ssh dentro de scripts para executar comandos remotos automaticamente em seus servidores. Esta técnica fica ainda mais interessante quando o teu script se autentica nos servidores sem senha, usando o método de
desafio e resposta do ssh.
Apesar de existir o utilitário scp e mesmo o sftp. ambos usando o ssh como meio de transporte, cópias podem ser feitas apenas com ssh. Usar ferramentas fáceis para fazer algo é coisa de usuário. Administrador que é administrador copia seus dados em modo raw, no braço e na raça com um "simples" ssh:
$ tar cz dados/ | ssh root@172.20.1.132 "tar xz && echo SUCESSO na cópia. SCP é para os fracos"
root@172.20.1.132's password:
SUCESSO na cópia. SCP é para os fracos
Após este comando silencioso existirá um diretório dados no home do root e com tudo que tem o diretório dados original. O "z" serve para gzipar os dados, diminuindo o tráfego da rede. Observe que o && dentro das aspas será executado na máquina 172.20.1.132 e apenas se o comando tar retornou sucesso. Se der erro, o próprio tar irá imprimir a mensagem correspondente e o "SUCESSO..." não será impresso. Quer umas "mensagenzinhas" para não ficar perdido? Insira o parâmetro "v" ao tar.
Se você passear pelas configurações do ssh server, verá que existem muitos parâmetros úteis para a segurança, como restringir o uso apenas a determinados usuários ou grupo de usuários, ou simplesmente negar acesso a conta de root, obrigando o usuário a logar-se com o seu user e depois executar um su ou sudo.
Bom, copiar arquivos com ssh impressiona os leigos (impressiona mais com netcat!), mas deixando as brincadeiras de lado, tem muitas coisas realmente úteis no ssh. Uma delas é o tunelamento de dados.
[1] Comentário enviado por
cesar em 31/07/2009 - 08:38h:
Boa elgio!
[]'s
[2] Comentário enviado por
marcolinux em 31/07/2009 - 09:58h:
Simplesmente dEStruIU! Parabéns excelente artigO!
[3] Comentário enviado por
marciomarkes em 31/07/2009 - 11:56h:
Meu caro Elgio... Sem comentários... Parabéns..
Abs..
[4] Comentário enviado por
cytron em 03/08/2009 - 01:23h:
É! Dá pra ver que ssh não tem limites kkkkk
[5] Comentário enviado por
danlsgiga em 03/08/2009 - 22:22h:
Excelente... dicas práticas e diretas. Parabéns!! Adorei o artigo.
[6] Comentário enviado por
andre.vmatos em 04/08/2009 - 18:23h:
Muito bom, novamente, Elgio. Artigo explendido, simplesmente didaticamente perfeito. Continue assim, por favor, nos enriquecendo com seu conhecimento. Só uma dúvida. No título da página 5, vc quis dizer SSH ou SSL mesmo? É pq não encontrei menção ao protocolo SSL na página, e sim ao SSH, motivo do artigo. Abçss
Atenciosamente,
[7] Comentário enviado por
elgio em 04/08/2009 - 19:21h:
Obrigado André.
Realmente, foi um erro meu.
Apesar de SSL ão ser completamente errado, estou falando do SSH.
Já foi corrigido. Obrigado pelo aviso.
[8] Comentário enviado por
rsscwb em 17/09/2009 - 14:13h:
Elgio,
Parabéns por seus artigos, são Excelentes!!! Não apenas este, mas todos!
Agora estou utilizando este túnel para acessar o webmin no meu servidor. Eu bloqueei o acesso externo na porta 10000 pelo iptables e, cada vez que eu precisava acessar o webmin, tinha que rodar um script pelo ssh liberando a porta pro meu ip local atual (que é dinâmico).
Agora apenas crio o túnel na minha máquina local e pronto! Nem tenho o trabalho de digitar minha senha, pois configurei a autenticação por desafio e resposta, conforme vc explicou em outro artigo. Simples e fácil!
Att,
Robson
[9] Comentário enviado por
ikichl em 23/09/2009 - 09:23h:
Bom dia
estou com um grande problema aqui tenho um sistema em php que faz conexoes
automaticas atravez e chave de seguranca, instalada na maquina remota, porem cada
nova conexao ele pede a confirmacao antes e conectar a primeira vez:
Are you sure you want to continue connecting (yes/no)?
ja tentei diversos meio para auto aceitar a conexao, mas sempre sem sucesso
echo -e "yes" | ssh root@200.175.121.18
[10] Comentário enviado por
ikichl em 23/09/2009 - 09:42h:
Acho que descobri como fazer, ele adiciona automaticamente a chave sem confirmar.
ssh root@200.175.121.18 -p 22 -o StrictHostKeyChecking=no
Obrigado
[11] Comentário enviado por
removido em 04/10/2009 - 23:39h:
Buenas tchê.
Estava afastado da TI e do VOL, ao retornar encontro este artigo muito bem escrito, com um assunto palpável e com exemplos que realmente funcionam. Estas de parabéns.
Sei que existem alguns de meus usuários, os mais espertos, tunelando conexões em uma porta bem conhecida que meu firewall necessita deixar passar mas, estou estudando as técnicas disponíveis e em busca de soluções.
[12] Comentário enviado por
_m4n14c_2 em 20/10/2011 - 04:06h:
Só lembrando, o própro ssh possui uma switch para passar os dados pelo gzip (-C). Como voce propos usar o tar seria mais vantajoso usar algoritmo bzip no lugar do gzip, bastar usar a switch j no lugar do z. Assim ganha-se um pouco de velocidade na transmissão dos dados, já que o bzip é mais eficiente que o gzip:
tar cj dados/ | ssh root@172.20.1.132 "tar xj && echo SUCESSO na cópia. SCP é para os fracos"