telnet/telnet-server 是遠端 shell 嗎?

telnet/telnet-server 是遠端 shell 嗎?

出於安全原因,人們總是說使用 Secure Shell (SSH) 而不是 Telnet 或 rsh/rcp/rlogin。

SSH 和 rsh 都是遠端 shell。我想知道 telnet 是否也是遠端外殼?如果是,為什麼它是遠端 shell,或者我如何理解它是遠端 shell?

遠端 shell 的定義

遠端 shell (rsh) 是一種命令列電腦程序,可以作為另一個使用者在電腦網路上的另一台電腦上執行 shell 命令。

我查了一下telnet是如何使用的。我發現的是telnet 用戶端可以連接到 telnet 伺服器(連接到 telnet 連接埠時)或另一個進程(連接到 telnet 連接埠以外的連接埠時),它已經在伺服器電腦上運行。我覺得telnet不行在伺服器電腦上執行 ie 啟動 shell 指令,它是遠端 shell 定義的一部分。

當我尋找基於 UDP 的 telnet 替代方案時,有些人提到netcatnc是這樣的替代方案。如果我是對的,netcat而且nc雙方都習慣了連接到機器上已運行的進程,但不至於執行 ie 在機器上啟動一個進程。是否也表明telnet用於連接到機器上已運行的進程,但不至於執行 ie 在機器上啟動一個進程

如果確實使用telnet連接到機器上已運行的進程,但不至於執行 ie 在機器上啟動一個進程,既然 SSH 和 telnet 正在做不同的事情,為什麼它與 SSH 相比呢?

謝謝。

附註

我才發現維基百科有關遠端 shell 的文章似乎是針對特定程序rsh並且rshd.

我所說的“遠端外殼” 在我的帖子中是一種程式或協議,可用於連接到遠端電腦、在遠端啟動 shell 以及在 shell 中啟動命令或程式。

答案1

telnet是在聯網的 UNIX 機器上取得遠端 shell 的傳統方法。 rsh是另一個。 ssh相比之下,是一個相對較新的人。

telnet通常與遠端 telnet 通信守護程式(或“伺服器”進程)。此時,您使用使用者名稱和密碼進行身份驗證以登錄,然後您將獲得 shell。所以,是的,這是一種獲取遠端 shell 的方法。

客戶telnet端也可以透過指定另一個連接埠用於其他連線(例如telnet host 80與 Web 伺服器通訊);這不是遠端 shell。telnet對話和身份驗證的組合telnetd提供了遠端 shell。

telnet不建議用於遠端 shell,因為使用者名稱和密碼通常以純文字形式透過網路傳遞;網路嗅探器或「中間人」攻擊可以竊取您的密碼。不好! ssh對流量進行加密以幫助防止這種情況。

telnet 給出遠端 shell 的範例:

% 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.

相關內容