Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Usando o RSH para executar comandos remotos no Linux

Imprimir
Avaliação do Usuário: / 13
PiorMelhor 

 

Para testar esse tutorial irei utilizar duas máquinas virtuais montadas no Oracle VM Virtual Box baseadas no sistema operacional Windows 8. Nas máquinas virtuais foi instalado o Debian, mas com a instalação mínima, sem nenhum pacote que não seja o sistema básico.

O primeiro passo é garantir que você tem sempre a sua distribuição atualizada:

 

apt-get update
apt-get dist-upgrade
apt-get autoclean
 

É necessário que as máquinas virtuais possuam nome de host diferente e também IP diferente, mas que possam se comunicar uma com a outra. Para isso, nas configurações, para interface de rede  selecione rede interna. Você pode configurar e visualizar os endereços IPs das VMs usando o comando ifconfig:

ifconfig

Ifconfig na máquina virtual um:

Ifconfig na máquina virtual dois:

E, em seguida, testar a comunicação entre elas usando o comando ping.

O ping entre a máquina um e dois:

E o ping entre a máquina dois e um:

Com isso saberemos exatamente o que é necessário instalar ou não e poderemos simular dois computadores e enviar comandos entre eles. Para esse envio de comandos remotamente irei utilizar o RSH.

RSH é o acrônimo para Remote Shell, e é composto pela porção servidora (rsh-server) e cliente (rsh-client). Segundo sua própria definição (veja nas páginas de manual) o rsh é um comando para copiar a entrada padrão para um comando remoto, a saída padrão do comando remoto para a saída padrão local e o mesmo para a saída de erro padrão, ou seja, o comando é executado em um computador remoto, mas todas as suas saídas são redirecionadas para o computador local.

O rsh é muito utilizado para envio de comandos remotos entre nós de cluster, por exemplo.

Para instalar o rsh-server e cliente use o seguinte:

apt-get install rsh-server

e

apt-get install rsh-client

Agora vamos configurar a resolução de nomes das máquinas. Isso é importante pois o rsh usará os nomes e não os endereços IPs.

Edite o arquivo /etc/hosts, mas lembre-se de fazer isso com permissões de super usuário:

vi /etc/hosts

Você terá que fazer isso nas duas máquinas, na um insira:

10.0.0.2           debian2

Onde debian2 é o nome da sua máquina dois.

Na máquina dois:

10.0.0.1           debian

Onde debian é o nome da sua máquina um.

Você pode testar se deu tudo certo usando novamente o ping, mas ao invés do endereço IP das máquinas use o nome delas.

Entre a máquina um e dois:

ping debian2

Entre a máquina dois e um:

ping debian

Ainda há mais uma configuração a ser feita. No diretório corrente do seu usuário (~) crie um arquivo chamado .rhosts, nele deve conter o nome do host e usuário que terá permissão de acesso remoto.

Por exemplo, na máquina um criarei o arquivo .rhosts com o conteúdo:

debian2           root

Isso informa que o usuário root terá permissões remotas se conectar-se a partir do host debian2.

Você pode usar o caractere + (soma) para dizer todos, por exemplo:

+          root

Isso diz que o usuário root terá permissões remotas de qualquer host.

Faça o arquivo .rhosts da máquina dois também, com:

debian             root

Para finalmente testar os rsh vamos tentar executar um comando date remotamente, mas antes vamos alterar a data e hora da máquina dois:

date 01012359

Com isso, ao executar o comando remoto, saberemos que a data e hora que aparecer será a do computador remoto! Ok, na máquina um vamos executar:

rsh debian2 date

O resultado será a data e hora da máquina dois que ajustamos há pouco, com alguns segundos passados:

Tente o inverso também, na máquina dois tente:

rsh debian date

O resultado deverá ser a data e hora da máquina um:

 

Adicionar comentário


Código de segurança
Atualizar

You are here: