Arquivo da tag: ssh

Trabalhar com várias janelas SSH e Telnet no Linux ao mesmo tempo.

Já precisou abrir dezenas de janelas de conexão SSH ou Telnet? Ficar alternando entre elas? Escrever o mesmo comando em cada uma?

Há algum tempo, injuriado com esta situação, após uma rápida busca achei um software bastante interessante: Gnome Connection Manager (http://kuthulu.com/gcm/).

O software possui diversas funcionalidades como cadastrar os servidores, classificar em grupos, alterar configurações como porta de conexão, túnel e X11 forwarding.


Abrir as conexões  em abas e  dividir a janela para exibir várias conexões ao mesmo tempo.

E uma funcionalidade que tem sido muito útil, botão Cluster, possibilita o envio de um mesmo comando para várias consoles aos mesmo tempo.

Assistindo séries de TV americanas online

A CBS e a ABC, para coibir a pirataria, disponibilizam online as séries de TV que apresentam. É possível assistir CSI, Jericho ou Lost via browser… se você estiver nos Estados Unidos.

A um tempo atrás eu estava fazendo um artigo pensando eu usar um proxy lá nos EUA para assistir as séries. Mas infelizmente todos os proxies que eu testei também estavam bloqueados e meu artigo morreu na casca.

Eu tinha esquecido o assunto quando o meu amigo Marcos Túlio me enviou um e-mail com um link para o blog Camelo Manco. Lá há uma dica de como usar o SSH do Dreamhost como proxy, dica semelhante que o Renan do blog parceiro br-net.org também publicou.

A idéia é utilizar um servidor SSH nos Estados Unidos para acessar a ABC ou CBS por você. Para a rede de TV você está naquele país já que o servidor está lá. Veja como fazer isso aqui.

Testei com o Bluehost.com, onde hospedo meu blog, e funcionou direitinho, fica um pouco mais lento mas funciona. Assisti metade do episódio 6 da segunda temporada de Jericho. O site da CBS funciona usando Firefox e Linux, o da ABC exigia Windows e não funcionou. Jericho

Eu tenho como acessar mas para o usuário sem acesso a um servidor SSH não é tão fácil. A questão que fica é: alguém conhece algum servidor SSH gratuito nos Estados Unidos para popularizar este “artifício técnico”?

As várias utilidades do SSH

O SSH é mais conhecido como meio de acesso à servidores Unix via rede. Ele substituiu o telnet que não era um método seguro, permitindo interceptação dos dados da conexão já que não tem criptografia. O que muitos não sabem é que o SSH pode ter outros usos.

Há um tempo atrás escrevi aqui sobre o SFTP, um tipo de tranferência de arquivos parecida com o FTP mas que usa o SSH para transportar dos dados.

Logo depois, LEandro do Prosa Digital deixou um comentário no artigo explicando o funcionamento do SCP que faz algo parecido com o SFTP, com a vantagem de fazer tudo em uma única linha de comando. Abaixo transcrição do comentário do LEandro:

Eu prefiro copiar por scp.
Ex: scp -r /home/user/musicas user@maqRemota:/userRemoto/
O resultado disso é que a pasta músicas de um computador será copiada para o outro computador no caminho /home/userRemoto/

Outro uso interessante para quando a transferência de arquivos é muito freqüente é o SHFS. Com ele dá para montar da mesma maneira que é feita com o NFS, SMB ou CIFS. Se alguém quiser saber mais, acesse um artigo bem interessante que o Guiadohardware.net publicou sobre o assunto.

Ainda outro uso para o SSH que o Renan do br-net.org colocou em um artigo no seu blog é utilizar o SSH como proxy.

Alguém conhece alguma outra utilidade para o SSH? Se conhece, não se acanhe, deixe um comentário.

Como transferir arquivos entre máquinas Linux?

Muitas pessoas precisam transferir arquivos entre máquinas Linux ou mesmo entre outros Unix. Qual é a melhor maneira de fazer isso? FTP, Samba, NFS? Nenhuma das alternativas anteriores: SFTP.

O SFTP utiliza a mesma porta do SSH, ou seja, qualquer Unix moderno tem. Quer saber como usar? Abaixo algumas dicas.

Cenário: Você quer transferir o arquivo teste.txt que está no /tmp do Linux1 para o /root/Desktop do Linux2.

A partir do Linux1:

– Abra um console e digite sftp usuario_com_permissão_no_linux2@linux2
– Digite a senha
– Digite: put /tmp/teste.txt /root/Desktop
– Digite: exit para sair

A partir do Linux2:

– Abra um console e digite sftp usuario_com_permissão_no_linux1@linux1
– Digite a senha
– Digite: get /tmp/teste.txt /root/Desktop
– Digite: exit para sair

A maior parte dos comandos é igual ou parecida com o FTP clássico. Basta digitar “?” na console do SFTP para saber quais são os comandos disponíveis.

Vantagens:

– Você tem acesso a todo o sistema de arquivos, na origem e no destino, desde que tenha permissão para isso.
– Você usa o usuário e senha que utiliza para acessar via SSH ou na console local.
– Toda a transferência, inclusive de usuário e senha, é criptografada ao contrário do FTP.
– Não precisa de nada instalado além do SSH e cliente SFTP.

Desvantagens:

– Usa mais CPU que o FTP normal.

Simples, não?

Truques com o TAR

O tar é muito útil para fazer backups e imagem de discos. Geralmente os administradores Unix conhecem a dupla:

tar -czf arquivo.tar.gz diretório/ # Para compactar o diretório no arquivo arquivo.tar.gz
tar -xvzf arquivo.tar.gz # Para descompactar o arquivo.tar.gz

Uma dica interessante do tar é que ele detecta sozinho qual o formato do pacote (p. ex., .tar.bz2 ou .tar.gz). Assim, ao invés de extrair com tar -xzf meupacote.tar.gz basta usar tar -xf meupacote.tar.gz. Obrigado ao Leonardo do leonardof.org pela dica.

Agora imagine que você precisa copiar o conteúdo de um hd para o outro. Neste caso seria preciso quase o dobro do espaço em disco criando um arquivo para depois descompactá-lo e nem sempre este espaço está disponível. Usando um pipe é possível criar o tar e extraí-lo ao mesmo tempo com um comando só e sem precisar criar o arquivo de destino do tar:

(cd /mnt/ ; tar -cf – sda1/) | (cd /mnt1 ; tar -xvf -) # ao mesmo tempo que o arquivo tar é criado, é também descompactado, economizando tempo e espaço em disco.

É possível também encapsular o tar dentro de um túnel ssh:

(cd /mnt/ ; tar -cf – sda1/ ) | (ssh destino ‘mkdir sda1 ; cd sda1 ; tar -xvf – ‘)

Se o link for limitado basta compactar e descompactar na origem e destino:

(cd /mnt/ ; tar -czf – sda1/ ) | (ssh destino ‘mkdir sda1 ; cd sda1 ; tar -xvfz – ‘) #Desde que não esteja transmitindo arquivos compactados, você economizará o link de rede, mas em compensação usará mais cpu na origem e destino.

Com estas dicas com certeza dá para fazer muitas coisas interessantes 😉

PS: Nunca tente criar um arquivo tar de arquivos abertos, coisas estranhas podem acontecer…