需要在MacOS中使用Telnet吗好吧许多Mac用户发现Telnet已从现代版本的系统软件中删除包括macOS Mojave和macOS High Sierra大概是为了鼓励改用ssh客户端但是出于各种原因有许多Mac用户需要TelnetTelnet仍然是许多系统和网络管理员安全专业人员使用Cisco硬件或获得Cisco认证的人员MUD爱好者以及许多其他目的的有效工具 因此本教程将详细介绍在现代版本的Mac OS系统软件中恢复Telnet的几种不同方法我们将介绍使用Homebrew安装Telnet从先前的系统软件发行版或备份中恢复Telnet从源代码编译Telnet以及telnet的一些替代方法 使用Homebrew在MacOS中安装Telnet 到目前为止最简单的选项是Mac用户通过Homebrew安装Telnet当然这意味着您需要首先在Mac上安装Homebrew但是如果您是高级用户并且花时间在命令行中则由于其他原因您可能会喜欢Homebrew因为您 如果尚未在Mac OS上安装Homebrew请先执行此步骤-如果您已有Homebrew请跳过此步骤 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 使用Homebrew通过以下命令安装telnet: brew install telnet 点击Return键让Homebrew下载并将Telnet安装到Mac 安装完成后您可以照常运行Telnet: telnet server-or-ip-address 测试Telnet在安装后是否正常工作的一种简单方法是连接到愚蠢的Star Wars telnet服务器该服务器以ASCII形式播放Star Wars: 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二进制文件不要不尝试从网上找一个随机的telnet二进制压缩文件因为它可能被破坏或以其他方式不值得信任如果您要使用此路由最好在原始telnet二进制文件上使用md5哈希或sha1校验和 顺便说一句如果您依靠的是Sierra或更早版本的telnet二进制文件那么您可能也有兴趣获取ftpftp也已从现代macOS发行版中删除但位于以前的MacOS版本中的以下位置: /usr/bin/ftp 再次将ftp二进制文件放到新版本的系统软件上的/ usr / local / bin /中 令您感到疑惑的是虽然已从MojaveHigh Sierra中删除了Telnet(和ftp)并且可能已向前发展但MacOS Sierra仍是默认情况下包括Telnet的系统软件的最新版本而任何MacOS / Mac OS X之前的版本Sierra还包括Telnet和ftp包括El CapitanSnow Leopard优胜美地Mountain LionMavericksTigerCheetah等 Mac的Telnet替代品:SSHNetcat 当然根据您首先需要使用telnet的需求可以使用Telnet替代方法 对于远程连接ssh是受保护的新标准默认情况下所有现代版本的MacOS系统软件中都提供ssh服务器和ssh客户端简单来说使用ssh连接到远程IP如下所示: ssh user@remoteIP 对于网络连接的简单测试或开放/侦听端口的测试netcat通常可以满足telnet提供的相同需求例如您可以确认到上述ASCII Star Wars服务器和端口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 接下来您要解压缩骨: tar xvzf inetutils-1.9.4.tar.gz 现在切换到适当的目录: cd inetutils-1.9.4 发出configure命令开始: ./configure 配置完成后从源进行制作: make 最后使用make install完成inetutils和telnet的安装: sudo make install 我个人认为使用Homebrew更容易此外还有许多其他有用的Homebrew软件包可用如果您熟悉从源代码进行编译并且到现在为止那么几乎可以肯定会喜欢使用Homebrew iPad和iPhone的Telnet怎么样Telnet for iOS 仅仅为了覆盖所有基础还有适用于iOS的telnet客户端这对您的实用性可能取决于您的特定设备以及telnet的用途但是iOS的免费选项是iTerminal 优秀的付费选项是Prompt在没有外部键盘的情况下从iOS设备使用ssh和telnet可能是一个挑战因此您可能需要先将iPhone和iPad连接到您的iPhone或iPad而实际上这是iPad的更好选择因为它更大屏幕当然iOS不是MacOS所以这有点题外话