Executando comando remoto usando rsh

Executando comando remoto usando rsh

O comando Linux Remote Shell (RSH) permite a execução de um único comando em uma máquina remota especificada. RSH se conecta remotamente ao host especificado e você pode executar apenas um comando selecionado por determinado tempo.

O uso do RSH é benéfico quando você não precisa ficar conectado à máquina remota. Se você sabe qual comando especificar e o caminho para ele, o RSH é perfeito para o trabalho. Discutiremos o uso do RSH para conectar à sua máquina remota usando exemplos diferentes. Vamos começar!

Como executar o comando remotamente com rsh

O comando rsh é fácil de usar. Você só precisa do nome da máquina ou seu IP e o comando.

1
$ RSH MACHINENName/comando IP

O comando rsh funciona semelhante ao comandos rlogin e rcp. Ele acessa as máquinas remotas configuradas no arquivo etc/hosts. No entanto, se a máquina remota não for especificada no arquivo, você poderá invocar diretamente usando seu nome de host e IP.

Conectando a máquina remota usando o nome do host

Para se conectar a uma máquina remota, você precisa saber o nome do host. No nosso caso, nossa máquina remota é Kyle. Então, para se conectar a ele usando o nome do host, o comando é o seguinte:

1
$ rsh kyle ls ~/desktop

O comando anterior lista o conteúdo do diretório da área de trabalho.

Se abrirmos a máquina remota, podemos ver os arquivos disponíveis na área de trabalho/.

Vamos executar o comando remoto e teremos os mesmos arquivos.

Se você tiver o erro refletido na imagem anterior, isso implica que o nome do host não é definido em seu /etc/arquivo hosts. Então, vá em frente e abra o arquivo, adicione o endereço IP da máquina remota e o nome. No nosso caso, o arquivo é o seguinte:

1
$ sudo nano /etc /hosts

Salve a configuração e execute o comando novamente. Agora você deve ver a conexão estabelecida. Podemos ver nossos arquivos de desktop na seguinte saída:

Observe que você ainda precisa da senha para a máquina remota. Depois que o comando for executado, você deve executá-lo novamente se precisar usar outro comando.

Conectando a máquina remota usando o nome do host e o IP

No método anterior, você precisa adicionar o nome da máquina remota à lista de dispositivos confiáveis ​​no arquivo /etc /hosts. No entanto, há outra maneira de se conectar à mesma máquina remota e executar um comando sem salvar seus detalhes. Você precisará do IP exato do seu dispositivo remoto e seu nome de host.

Nossa máquina remota está em caixa virtual, por isso temos o mesmo IP local que usamos no método anterior.

Use o comando abaixo para conectar -se à máquina remota e ainda liste os arquivos na área de trabalho/:

1
$ rsh -l LS ~/Desktop

Vemos que ainda acessamos os mesmos arquivos na saída.

Mesmo com este método, você ainda precisa da senha para a máquina remota.

Salvando a saída da máquina remota para a máquina local

O ponto principal de conectar -se à máquina remota é executar um comando. Se o comando retornar uma saída, você poderá transmitir -o para a máquina local.

Por exemplo, se precisarmos salvar o conteúdo da área de trabalho/ em vez de listá -los como fizemos nos métodos anteriores, o novo comando é o seguinte:

1
$ rsh kyle ~/desktop> new1.TXT

Um novo arquivo, new1.TXT, é criado. Se listarmos seu conteúdo, vemos os arquivos na área de trabalho da máquina remota.

Você pode usar o mesmo conceito para executar qualquer comando na máquina remota.

Executando comandos para a máquina remota usando RSH

Até agora, vimos como podemos executar um comando que exibe a saída para a máquina local. E se você quiser manipular os arquivos ou texto para o dispositivo remoto em vez disso? Isso também é possível.

Por exemplo, vamos mover o conteúdo na área de trabalho/ arquivo da máquina remota para uma nova pasta.

1
2
3
$ rsh kyle mkdir ~/desktop/testfolder
$ rsh kyle mv -v ~/desktop/*.txt ~/desktop/tesffder/

Tudo funcionou como esperado.

Conclusão

Vimos como usar o rsh comando para acessar e executar um comando em uma máquina remota usando seu nome de host e ip. Conforme discutido no artigo, o comando rsh é útil quando você precisa executar comandos sem criar uma conexão permanente com seu dispositivo remoto.