O telnet / telnet-server é um shell remoto?

0

Sempre é dito que usa Secure Shell (SSH) em vez de Telnet ou rsh / rcp / rlogin, por motivos de segurança.

SSH e rsh são ambos shells remotos. Gostaria de saber se o telnet também é um shell remoto ? Se sim, por que é um shell remoto ou como devo entender que é um shell remoto?

A definição de um shell remoto é

The remote shell (rsh) is a command line computer program that can execute shell commands as another user, and on another computer across a computer network.

Eu procurei como o telnet é usado. O que eu achei foi que um cliente telnet pode se conectar a um servidor telnet (ao se conectar à porta telnet) ou a outro processo (ao se conectar a uma porta diferente da porta telnet), que já está sendo executado em uma máquina servidor . Parece-me que o telnet não pode executar, por exemplo, lançar um comando shell em uma máquina do servidor , que faz parte da definição de um shell remoto.

Quando procurei alternativas para o telnet, que é baseado no UDP, alguns mencionaram que netcat e nc são programas alternativos . Se estiver correto, netcat e nc serão usados para se conectar a um processo já em execução em uma máquina , mas não para executar, ou seja, iniciar um processo em uma máquina . Também sugere que o telnet seja usado para conectar a um processo já em execução em uma máquina, mas não para executar um processo em uma máquina?

Se é verdade que o telnet é usado para se conectar a um processo já em execução em uma máquina , mas não para executar, por exemplo, iniciar um processo em uma máquina , por que comparado ao SSH, dado que o SSH e o telnet estão fazendo coisas diferentes?

Obrigado.

p.s.

Acabei de perceber o artigo da Wikipedia para o shell remoto parece ser para um programa em particular rsh e rshd .

O que quero dizer com um " shell remoto " no meu post é um tipo de programa ou protocolo que pode ser usado para conectar a uma máquina remota, iniciar um shell no controle remoto e ativar comandos ou programas no shell.

    
por Tim 27.06.2016 / 00:58

1 resposta

3

telnet era a maneira tradicional de obter um shell remoto em uma máquina unix em rede. rsh foi o outro. ssh é um novato relativo em comparação.

telnet normalmente fala com um daemon telnet remoto (ou processo "servidor"). Nesse ponto, você autentica com um nome de usuário e senha para fazer login e, em seguida, obtém um shell. Então, sim, é um método de obter um shell remoto.

O cliente telnet também pode ser usado para outras conexões especificando outra porta (por exemplo, telnet host 80 irá conversar com o servidor web); este não é um shell remoto. É a combinação de telnet conversando com telnetd e autenticando o shell remoto.

telnet não é recomendado para o shell remoto porque o nome de usuário e a senha são normalmente passados pela rede em texto simples; um sniffer de rede ou ataque "man in the middle" pode roubar sua senha. Não é bom! ssh criptografa o tráfego para ajudar a evitar isso.

Exemplo de telnet dando um shell remoto:

% telnet server.name
Trying 192.168.100.100...
Connected to server.name
Escape character is '^]'.

NetBSD/i386 (server.name) (pts/51)

login: fred
Password:
Last login: Fri Jun 24 21:45:29 2016 from 192.168.1.1 on pts/23

No mail.

$ whoami
fred

$ pwd
/home/fred

$ logout
Connection closed by foreign host.
    
por 27.06.2016 / 01:07