当 telnet 失败时 Ping 工作

ste*_*ton 3 telnet ping

我有一个名为SERV1连接到 Unix 机器 UNI1的 Windows 2008R2 服务器。

我可以 ping 但我不能telnet

我已经在服务器 R2 上安装了 telnet 客户端。我在 R2 上禁用了 Windows 防火墙。我需要检查services.mscR2 机器上运行的任何服务吗?

Red*_*ick 5

要从 Windows 计算机 telnet 到 Unix 计算机,您需要确保

  • Windows 安装了 telnet 客户端(在最新的 Windows 中未安装)
  • Windows 防火墙不会阻止传出 Telnet(不太可能)
  • Windows 可以解析服务器的名称(例如通过 DNS 或本地hosts文件)
  • Unix 服务器启用了 Telnet 服务(越来越多地被禁用以鼓励使用 SSH)
  • 没有中间防火墙阻止 Telnet(如果两台计算机在同一子网中,则不太可能)
  • 您拥有有效的 Unix 登录凭据(用户名和密码)

由于您没有发布实际的错误消息,只是说您“无法执行 telnet” - 我们只能猜测问题所在。

要检查 Telnet 服务是否正在运行,请登录 Unix 服务器控制台并使用以下命令:

netstat -a | grep "telnet.*LISTEN"
Run Code Online (Sandbox Code Playgroud)

输出应该是这个

tcp        0      0  *.telnet               *.*                    LISTEN
Run Code Online (Sandbox Code Playgroud)

注意:如果您遇到问题,请使用剪切和粘贴使用实际命令和错误消息更新您的问题(然后仅在需要更改机密详细信息时进行编辑)


更新:

红帽/Fedora

使用这些命令

chkconfig telnet on
chkconfig --list | grep telnet
Run Code Online (Sandbox Code Playgroud)

第二个命令的输出应该是

   telnet: on
Run Code Online (Sandbox Code Playgroud)

Ubuntu

sudo apt-get install telnetd
sudo /etc/init.d/inetd restart
Run Code Online (Sandbox Code Playgroud)

安装后,从 GUI 中选择 Administration、Services 并启用 Telnet

使用 Xinetd 的发行版

您需要一个名为 /etc/xinetd.d/telnet 的文件,其内容类似于

# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}
Run Code Online (Sandbox Code Playgroud)

警告!

您不应该这样做,除非您熟悉 Linux,熟悉 Linux 命令,使用 vi 等编辑器,并且有良好的备份,并且准备好在出现严重错误时重新安装。如果其他人依赖此服务器,您应该聘请熟悉您正在使用的特定 Linux 发行版的系统管理员。