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.