Arquivo da tag: SSH

ssh: Problema de conexão com a chave diffie-hellman-group1-sha1

Se você está tentando acessar um servidor SSH instalado há alguns anos  a partir de uma estação cliente muito recente é provável que você não tenha sucesso e acabe recebendo um retorno com a mensagem

Unable to negotiate with XX.YY.ZZ.KK port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

Há duas soluções para isso. Ou você  atualiza o servidor SSH, ou força a conexão do seu cliente SSH usando esta chave assim mesmo. Continue lendo ssh: Problema de conexão com a chave diffie-hellman-group1-sha1

Executando comandos remotamente

É sabido que ao realizar uma conexão  ssh para se conectar a uma máquina remota teremos um prompt de comandos de onde poderemos executar comandos [quase] como se estivessemos diante do terminal real. Mas muitas vezes nós só queremos executar um comando, ou um script e sair. Para simplificar esta tarefa ao invés de abrirmos o prompt de comandos, digitar o comando e depois sair, podemos simplesmente usar a sintaxe:

ssh usuario@maquinaremota comando

Por exemplo se quisermos apenas consultar o espaço em disco disponível em uma máquina remota poderiamos fazer assim:

ssh welrbraga@192.168.0.38 'df -h'

Este comando iniciará uma sessão SSH com a máquina de IP 192.168.0.38 e após informar a senha do usuário ‘welrbraga’ ele executará o comando ‘df -h’ naquela máquina retornando o resultado e voltando ao prompt de comandos da nossa máquina.

Se o comando ou aplicação que você pretende executar é uma aplicação gráfica basta acrescentar o parâmetro “-X” (letra X maiúscula). Por exemplo a linha abaixo executaria a ferramenta “Baobab” (que mostra um gráfico de utilização do disco) no computador remoto.

ssh -X welrbraga@192.168.0.145 baobab

Observe que a ferramenta será executada no computador remoto, mas a sua tela gráfica será exibida no seu computador, sem necessidade de VNC, LogmeIn ou qualquer outra ferramenta adicional.
Desta forma, se você já não se levantava mais da cadeira nem para digitar comandos no desktop da mesa ao lado, agora  você não precisa mais nem mesmo torcer o pescoço para olhar a tela com uma aplicação gráfica.

Se você tiver a intenção de executar comandos com outro usuário (como root, por exemplo) não é uma boa prática liberar o acesso SSH para este caso, mas você pode dar privilégios especiais ao seu usuário usando o “sudo” de tal forma que se desejado ele poderá executar apenas uma ferramenta especifica com este privilégio especial, mas isso é tema para outro dia.

Para ficar melhor, você pode ainda transferir o seu certificado RSA ou DSA para a máquina remota e então nem a senha será preciso digitar mais (conforme já expliquei uma outra vez aqui), agora é só preciso dar um jeito para a caneca de café se auto-abastecer.

Syncany – Alternativa para armazenamento em sua nuvem privada

De todos os sistemas deste tipo que já analizei o Syncany é o único que se diz mais completo. Talvez isso seja pelo fato dele poder usar inúmeros sistemas de armazenamento como backend (pasta local, IMAP, FTP, Google Storage, Amazon S3, Rackspace, Webdav, Picasa Web Album, Box.net SFTP/SSH etc) e também por ter tudo o que os outros tem e ainda um brinde para quem se preocupa com segurança (criptografia do lado cliente). Bom, como ainda não tive tempo para testá-lo na prática não posso atestar que isso seja verdade mas que ele realmente parece ser uma excelente alternativa ao Dropbox, isso sim parece.

Executando um mesmo comando remotamente em vários servidores via SSH

Acredito que não exista nada mais ingrato, na vida de um sysadmin, do que repetir um determinado comando em vários servidores. O SSH nos poupa ir máquina a máquina para digitar estes comandos, mas só permite que o façamos em um servidor por vez. Com um pequeno truque no Bash podemos repetí-lo em vários servidores de uma vez. Continue lendo Executando um mesmo comando remotamente em vários servidores via SSH