linux安装telnet服务器
1.概述
linux 提供服务是由运行在后台的守护程序(daemon)来执行的。守护进程的工作就是打开 1 个端口(port),等待(listen)进入的连接。在 C/S 模式中,如果客户提请了 1 个连接,守护进程就创建(fork)子进程来响应这个连接,而父进程继续监听其他服务的请求。但是,对于系统所提供的每 1 个服务,如果都必须运行 1 个监听某个端口连接发生的守护程序,那么通常意味着系统资源的浪费。为此,引入“扩展的网络守护进程服 务程序”xinetd(xinetd internet daemon)。telnet 服务也是由 xinetd 守护的。
2。检测 telnet、telnet-server 的 rpm 包是否安装
OS:RedHat9
[root@localhost root]#rpm -qa telnet
telnet-0.17-25
//telnet*.rpm 是默认安装的//
[root@localhost root]#rpm -qa telnet-server
空
//telnet*.rpm 是默认没有安装的//
3。安装 telnet-server
第 3 张盘上有 telnet-server-0.17-25.i386.rpm
[root@localhost root]#rpm -ivh telnet-server*.i386.rpm --这个软件包依赖于 xinet 这个包。
4。修改 telnet 服务配置文件
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
将 disable=yes 行前加#,或者改为 disable=no
PS:
安装 telnet-server 后,系统才有文件/usr/sbin/in.telnetd
5。重新启动 xinetd 守护进程
由于 telnet 服务也是由 xinetd 守护的,所以安装完 telnet-server,
要启动 telnet 服务就必须重新启动 xinetd
[root@localhost root]#service xinetd restart
或
[root@localhost root]#/etc/init.d/xinetd restart
6。关闭系统的防火墙,如果不能修改,则先修改下用户认证方式再试试
(setup -> Authentication configuration)
linux 系统默认的防火墙是“high”
命令行界面 CLI:
[root@localhost root]# setup
选择:“firewall configuration”
选择:security level——“no firewall”
7。设置 root 用户可以 telnet 主机(生产环境下不建议这样)
# vi /etc/securetty 添加 pts/0,要控制 root 同时 telnet 数量,就
添加多少个 pts/x,其中 x 为 0-255-...的数字。示例如下:
# cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
tty1
tty2
tty3
tty4
tty5
tty6
pts/0
pts/1
pts/2
pts/3
8。测试
c:> telnet IP
Trying...
Connected to IP
Escape character is '^]'.
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel 2.6.18-8.el5 on an i686
login:
9。telnet 默认开机启动
1)。命令 ntsysv
找到 telnet,用空格键激活(*)服务
2)。命令 chkconfig
chkconfig --add telnet
chkconfig telnet on
3)。图形用户界面 GUI
redhat-conhat-config-services
或 “主菜单”——“系统设置”——“服务器设置”——“服务”
PS:
由于 telnet 登陆时是明文传送密码,所以不安全,建议使用 ssh(secure shell)替代!
windows 下一般用 F-Secure SSH ,putty SSH
10。Trouble Shooting
(1).我在我机子上输入 telnet 192.168.1.18 (装有 Fedora Core 6 系统的机器)
dos 提示:
Unencrypted connection refused.Goodbye.
失去了跟主机的连接
解决参考:
"Unencrypted connection refused,Goodbye"
解决办法:因为开启的 Telnet server 为/etc/xinetd.d/ekrb5-telnet
所以修改 ekrb5-telnet 项目 disable=yes 即可.重启服务 service
inetd restart 即可.
(2).red hat linux enterprise 5 在从别的机上 telnet 过去时出现如下错误:
(发出命令为: telnet 10.x.x.x)
getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
失去了跟主机的连接。
网上说只要在你的 red hat linux enterprise 5 的 host 文件中增加telnet 客户端的地址,例如
10.200.1.130 clientmachine,但是加了也不行,解决参考如下:
分析原因是 red hat 5 的用户认证鉴权方式比较严格,且也不能
修改 Firewall 的设置,只要把 Authentication configuration 里
的一些选项去掉便可。
# setup
选择 Authentication configuration 去掉一些认证方式,然后再修
改 Firewall configuration 里设置。
一些注意事项
一、vi /etc/xinetd.d/telnet
在disable=yes前加#,即#disable=yes
二、要启动telnet 服务就必须重新启动xinetd
[root@localhost root]#service xinetd restart
三、关闭防火墙,等。。
四、要域名访问的话,要开启路由器的 23 端口映射
五、关闭的话就是 设置成 disable=yes ,然后重启xinetd service xinetd restart