Всегда рекомендуется использовать Secure Shell (SSH) вместо Telnet или rsh/rcp/rlogin из соображений безопасности.
SSH и rsh — это удаленные оболочки. Интересно, а telnet тожеудаленная оболочка? Если да, то почему это удаленная оболочка, или как мне понять, что это удаленная оболочка?
Определение удаленной оболочкиявляется
Удаленная оболочка (rsh) — это компьютерная программа командной строки, которая может выполнять команды оболочки от имени другого пользователя и на другом компьютере по компьютерной сети.
Я посмотрел, как используется telnet.Я обнаружил, чтоКлиент telnet может подключаться к серверу telnet (при подключении к порту telnet) или другому процессу (при подключении к порту, отличному от порта telnet),который уже запущен на сервере. Мне кажется, что telnet не можетвыполнить, т.е. запустить команду оболочки на серверной машине, что является частью определения удаленной оболочки.
Когда я искал альтернативы telnet, основанному на UDP,некоторые упоминали, что netcat
и nc
есть такие альтернативные программы. Если я прав, netcat
и nc
оба привыклиподключиться к процессу, уже запущенному на машине, но не для того, чтобывыполнить, т.е. запустить процесс на машине. Это также означает, что telnet используется дляподключиться к процессу, уже запущенному на машине, но не для того, чтобывыполнить, т.е. запустить процесс на машине?
Если это правда, что telnet используется дляподключиться к процессу, уже запущенному на машине, но не для того, чтобывыполнить, т.е. запустить процесс на машине, почему его сравнивают с SSH, учитывая, что SSH и telnet выполняют разные функции?
Спасибо.
пс
я только что понялстатья в Википедии для удаленной оболочкипохоже, для определенной программы rsh
и rshd
.
Что я имею в виду под "удаленная оболочка«в моем сообщении — это тип программ или протоколов, которые можно использовать для подключения к удаленному компьютеру, запуска оболочки на удаленном компьютере и запуска команд или программ в оболочке.
решение1
telnet
был традиционным способом получить удаленную оболочку на сетевой машине Unix. rsh
был другим. ssh
является относительно новым по сравнению с ним.
telnet
обычно общается с удаленным telnetдемон(или процесс "сервера"). В этот момент вы аутентифицируетесь с помощью имени пользователя и пароля для входа, а затем получаете оболочку. Так что, да, это метод получения удаленной оболочки.
Клиент telnet
также может использоваться для других подключений, указав другой порт (например, telnet host 80
будет общаться с веб-сервером); это не удаленная оболочка. Это комбинация общения telnet
и telnetd
аутентификации, которая дает удаленную оболочку.
telnet
не рекомендуется для удаленной оболочки, поскольку имя пользователя и пароль обычно передаются по сети в виде открытого текста; сетевой сниффер или атака «человек посередине» могут украсть ваш пароль. Нехорошо! ssh
шифрует трафик, чтобы помочь предотвратить это.
Пример telnet, предоставляющего удаленную оболочку:
% 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.