我有一个名为 UNI1 的 Windows 2008R2 服务器,SERV1
连接到 Unix 机器。
我可以 ping 通 但是不能telnet
。
我已经在服务器 R2 上安装了 telnet 客户端。我禁用了 R2 上的 Windows 防火墙。我需要检查services.msc
R2 机器上运行的任何服务吗?
答案1
要从 Windows 计算机 telnet 到 Unix 计算机,您需要确保
- Windows 已安装 telnet 客户端(最新版 Windows 中未安装)
- Windows 防火墙未阻止传出 Telnet(可能性很小)
- Windows 可以解析服务器的名称(例如通过 DNS 或本地
hosts
文件) - Unix 服务器已启用 Telnet 服务(为了鼓励使用 SSH,该服务越来越多地被禁用)
- 没有中间防火墙阻止 Telnet(如果两台计算机位于同一子网中则不太可能)
- 您拥有有效的 Unix 登录凭据(用户名和密码)
由于您没有发布实际的错误消息,而只是说“无法执行 telnet” - 我们只能猜测问题所在。
要检查 Telnet 服务是否正在运行,请登录 Unix 服务器控制台并使用此命令:
netstat -a | grep "telnet.*LISTEN"
输出应该是这样的
tcp 0 0 *.telnet *.* LISTEN
注意:如果您遇到问题,请使用剪切和粘贴的方式,用实际的命令和错误消息更新您的问题(然后仅在需要更改机密详细信息时进行编辑)
更新:
红帽/Fedora
使用这些命令
chkconfig telnet on
chkconfig --list | grep telnet
第二条命令的输出应该是
telnet: on
Ubuntu
sudo apt-get install telnetd
sudo /etc/init.d/inetd restart
安装后,从 GUI 中选择管理、服务并启用 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
}
警告!
除非您熟悉 Linux、Linux 命令、vi 等编辑器,并且有良好的备份,并准备好在出现严重错误时重新安装,否则您不应该这样做。如果其他人依赖此服务器,您应该聘请熟悉您所使用的特定 Linux 发行版的系统管理员。