Siempre se dice que se utiliza Secure Shell (SSH) en lugar de Telnet o rsh/rcp/rlogin, por razones de seguridad.
SSH y rsh son ambos shells remotos. Me pregunto si telnet también lo esun caparazón remoto? En caso afirmativo, ¿por qué es un shell remoto o cómo puedo entender que es un shell remoto?
La definición de un shell remotoes
El shell remoto (rsh) es un programa informático de línea de comandos que puede ejecutar comandos de shell como otro usuario y en otra computadora a través de una red informática.
Busqué cómo se usa telnet.Lo que encontré fue queun cliente telnet puede conectarse a un servidor telnet (cuando se conecta al puerto telnet) u otro proceso (cuando se conecta a un puerto que no sea el puerto telnet),que ya se está ejecutando en una máquina servidor. Me parece que telnet no puedeejecutar, es decir, ejecutar un comando de shell en una máquina servidor, que es parte de la definición de un shell remoto.
Cuando busqué alternativas a telnet que se basa en UDP,algunos mencionaron eso netcat
y nc
son programas alternativos. Si estoy en lo cierto netcat
y nc
ambos estamos acostumbradosconectarse a un proceso que ya se está ejecutando en una máquina, pero no paraejecutar, es decir, iniciar un proceso en una máquina. ¿Sugiere también que telnet se utiliza paraconectarse a un proceso que ya se está ejecutando en una máquina, pero no paraejecutar, es decir, iniciar un proceso en una máquina?
Si es cierto que telnet sirve paraconectarse a un proceso que ya se está ejecutando en una máquina, pero no paraejecutar, es decir, iniciar un proceso en una máquina, ¿por qué se compara con SSH, dado que SSH y telnet hacen cosas diferentes?
Gracias.
PD
Me acabo de dar cuentael artículo de Wikipedia para shell remotoparece ser para un programa en particular rsh
y rshd
.
Lo que quiero decir con un "cáscara remota"En mi publicación hay un tipo de programas o protocolos que se pueden usar para conectarse a una máquina remota, iniciar un shell en el control remoto e iniciar comandos o programas en el shell.
Respuesta1
telnet
era la forma tradicional de obtener un shell remoto en una máquina Unix en red. rsh
fue el otro. ssh
es relativamente nuevo en comparación.
telnet
normalmente habla con un telnet remotodemonio(o proceso "servidor"). En ese momento, te autenticas con un nombre de usuario y contraseña para iniciar sesión y luego obtienes un shell. Entonces, sí, es un método para obtener un shell remoto.
El telnet
cliente también se puede utilizar para otras conexiones especificando otro puerto (por ejemplo, telnet host 80
hablará con el servidor web); este no es un shell remoto. Es la combinación de telnet
hablar telnetd
y autenticarse lo que proporciona el shell remoto.
telnet
no se recomienda para shell remoto porque el nombre de usuario y la contraseña normalmente se pasan a través de la red en texto sin formato; un rastreador de red o un ataque "intermediario" pueden robar su contraseña. ¡No es bueno! ssh
cifra el tráfico para ayudar a evitar esto.
Ejemplo de telnet que proporciona un 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.