如何在 Ventura、Monterey、Big Sur、Catalina、Mojave 或 High Sierra 获取 MacOS 的 Telnet

在 Mac OS 中获取 Telnet

需要在 MacOS 中使用 Telnet?好吧,许多 Mac 用户发现 Telnet 已从现代版本的系统软件中删除,包括 macOS Ventura、MacOS Monterey、macOS Big Sur、Catalina、Mojave 和 macOS High Sierra。据推测这是为了鼓励改用 ssh 客户端,但是有许多 Mac 用户需要 Telnet 进行各种操作的原因。 Telnet 仍然是许多系统和网络管理员、安全专家、使用 Cisco 硬件或获得 Cisco 认证的人员、MUD 爱好者以及许多其他目的的有效工具。

据此,本教程将详细介绍在现代版本的 Mac OS 系统软件中恢复 Telnet 的几种不同方法。我们将介绍使用 Homebrew 安装 Telnet、从先前的系统软件版本或备份恢复 Telnet、从源代码编译 Telnet,以及一些 telnet 的替代方案。

本文假设您有使用终端和命令行的经验,因为 Telnet 完全基于命令行。

在 MacOS 中使用 Homebrew 安装 Telnet

到目前为止,Mac 用户最简单的选择是通过 Homebrew 安装 Telnet。当然,这意味着您需要先在 Mac 上安装 Homebrew,但如果您是高级用户花时间在命令行上的用户你可能会因为其他原因而喜欢 Homebrew

  1. 在 Mac OS 上安装 Homebrew 如果您还没有这样做 – 如果您已经安装自制软件跳过这一步
  2. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  3. 使用 Homebrew 通过以下命令安装 telnet:
  4. brew install telnet

  5. 点击 Return 让 Homebrew 下载并安装 Telnet 到 Mac
  6. 安装完成后,您可以照常运行 Telnet:
  7. telnet server-or-ip-address

安装后测试 Telnet 是否正常工作的一种简单方法是连接到愚蠢的 星球大战telnet服务器,以ASCII艺术播放星球大战:

telnet towel.blinkenlights.nl

当您看到以 ASCII 字符呈现的星球大战时,您就会知道 Telnet 正在工作(是的,说真的,这是整部电影)。

Telnet 星球大战服务器和电影

通过较旧的 MacOS 版本或备份在 MacOS Mojave 和 High Sierra 中安装 Telnet

如果您碰巧可以访问运行早期版本的 MacOS(Sierra 或更早版本)的 Mac,或者您碰巧有来自 Time Machine 或其他设备的旧版 MacOS 系统软件备份,您实际上可以只复制该计算机上的旧二进制文件或备份到您的现代 MacOS 安装,telnet 将正常工作。

对于包含 telnet 的 Mac OS 和 Mac OS X 版本,您将在以下位置找到 Telnet(因此可作为在备份中查找二进制文件的位置的参考:

/usr/bin/telnet

telnet 二进制文件非常小,只有 114 kb,因此这是一项快速简单的任务。

将 telnet 二进制文件复制到现代 macOS 版本(包括 MacOS Mojave 10.14 和 MacOS High Sierra 10.13.x)中的以下位置,将允许 telnet 在新系统软件版本上运行:

/usr/local/bin/

此时您可以像往常一样运行“telnet”命令。

另一个需要更加谨慎的选择是从运行 MacOS Sierra 或更早版本的可信赖的同事或可信赖的朋友那里请求 telnet 二进制文件。他们所需要做的就是压缩并向您发送他们的 /usr/bin/telnet 二进制文件。不要不要尝试从 Internet 上随机找到一个 telnet 二进制 zip 文件,因为它可能会受到威胁或不可信。使用 md5 hashsha1 checksum 在原始的 telnet 二进制文件上,如果你要走这条路。

顺便说一句,如果您依赖 Sierra 或更早版本的 telnet 二进制文件,您可能也有兴趣获取 ftp,它也已从现代 macOS 版本中删除,但在之前位于以下位置MacOS 构建:

/usr/bin/ftp

同样,对于新版本的系统软件,您会将 ftp 二进制文件放入 /usr/local/bin/。

对于那些想知道的人,虽然 Telnet(和 ftp)已从 Mojave、High Sierra 以及可能的任何向前发展的东西中删除,但 MacOS Sierra 仍然是默认包含 Telnet 的系统软件的最后一个版本,而任何 MacOS / Mac OS X在 Sierra 之前发布的版本还包括 Telnet 和 ftp,包括 El Capitan、Snow Leopard、Yosemite、Mountain Lion、Mavericks、Tiger、Cheetah 等。

Mac 的 Telnet 替代方案:SSH、Netcat

当然,Telnet 有一些替代方案,具体取决于您首先需要使用 telnet 的目的。

对于远程连接,ssh 是新标准,因为它是安全的,ssh serverssh client 在所有现代版本的 MacOS 系统软件中默认可用。简单地说,使用 ssh 连接到远程 IP 将如下所示:

ssh user@remoteIP

对于网络连通性的简单测试,或者对于打开/侦听端口的测试,netcat 通常可以满足与 telnet 提供的相同需求。例如,您可以确认与上述 ASCII 星球大战服务器和端口 80 的连接使用以下 netcat 命令字符串:

nc -vz towel.blinkenlights.nl 80

请记住,为此目的的 netcat 需要指定一个有效的 TCP 或 UDP 端口号,无论主机协议是什么。

Netcat 和 telnet

通过从源代码编译 Telnet 将 Telnet 恢复到 MacOS Mojave 和 High Sierra

如果你出于某种原因不想使用 Homebrew,你也可以从 inetutils 源代码中自己编译 Telnet。作为先决条件,您仍然需要安装 Mac OS 命令行工具来能够做到这一点,但是。

首先,您需要从 gnu.org 下载最新的 inetutils 包:

curl -o http://ftp.gnu.org/gnu/inetutils/inetutils-1.9.4.tar.gz

接下来解压 tarsal:
tar xvzf inetutils-1.9.4.tar.gz

现在切换到合适的目录:
cd inetutils-1.9.4

发出配置命令开始:
./configure

配置完成后,从源码制作:
make

最后,使用make install完成inetutils和telnet的安装:
sudo make install

我个人认为使用 Homebrew 更容易,而且还有许多其他很棒且有用的 Homebrew 包可用。如果您熟悉从源代码编译,并且已经做到了这一点,那么您几乎肯定会喜欢 Homebrew。

iPad 和 iPhone 的 Telnet 怎么样? iOS 远程登录!

为了涵盖所有基础,还有适用于 iOS 的 telnet 客户端。这对您来说有多实用可能取决于您的特定设备以及您对 telnet 的意图,但 iOS 的免费选项是 iTerminal 和一个优秀的付费选项是 提示。在没有外接键盘的情况下,从 iOS 设备使用 ssh 和 telnet 可能是一个挑战,因此您可能希望在使用外接键盘之前将一个连接到 iPhone 或 iPad,实际上,这对于 iPad 来说是一个更好的选择,因为它更大屏幕。当然,iOS 不是 MacOS,所以这是题外话。

好吧,这是在现代 MacOS 版本中获取 Telnet 的非常全面的指南,但如果您知道另一种方法,或另一种在 MacOS High Sierra 中获取 Telnet 或将 Telnet 返回到 MacOS Mojave 的方法,请在下面的评论中与我们分享!