Chinaunix首页 | 论坛 | 博客
  • 博客访问: 580586
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2011-05-02 10:42:47

Ubuntu实现Telnet功能
用ubuntu好久了,就是不知道怎么用telnet服务。现在弄好了,整理一下资料,供大家学习参考。
1、安装xinetd 以及telnetd

liceven@liceven-laptop:~$ sudo apt-get install xinetd telnetd

获取:1 feisty/main xinetd 1:2.3.14-1ubuntu1 [135kB]
获取:2 feisty/universe telnetd 0.17-35ubuntu1 [42.0kB]
下载 177kB,耗时 7s (25.2kB/s)                                                 
选中了曾被取消选择的软件包 xinetd。
(正在读取数据库 ... 系统当前总共安装有 123141 个文件和目录。)
正在解压缩 xinetd (从 .../xinetd_1%3a2.3.14-1ubuntu1_i386.deb) ...
选中了曾被取消选择的软件包 telnetd。
正在解压缩 telnetd (从 .../telnetd_0.17-35ubuntu1_i386.deb) ...
正在设置 xinetd (2.3.14-1ubuntu1) ...
Stopping internet superserver: xinetd.
增加 `diversion of /etc/init.d/inetd to /etc/init.d/inetd.real by xinetd'
Starting internet superserver: xinetd.

正在设置 telnetd (0.17-35ubuntu1) ...
--------- IMPORTANT INFORMATION FOR XINETD USERS ----------
The following line will be added to your /etc/inetd.conf file:

telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd

If you are indeed using xinetd, you will have to convert the
above into /etc/xinetd.conf format, and add it manually. See
/usr/share/doc/xinetd/README.Debian for more information.
-----------------------------------------------------------

2、配置文件

A。 /etc/inetd.conf

liceven@liceven-laptop:~$ cat /etc/inetd.conf (如果存在就不需要了)

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

B. 修改/etc/xinetd.conf

root@liceven-laptop:/etc# cat xinetd.conf
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{

# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info(插入红色部分)
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30 
}

includedir /etc/xinetd.d

C。/etc/xinetd.d/telnet并加入以下内容:
# default: on 
# description: The telnet server serves telnet sessions; it uses \ 
# unencrypted username/password pairs for authentication. 
service telnet 

disable = no 
flags = REUSE 
socket_type = stream 
wait = no 
user = root 
server = /usr/sbin/in.telnetd 
log_on_failure += USERID 


5. 重启机器或重启网络服务sudo /etc/init.d/xinetd restart 
6. 使用TELNET客户端远程登录;ifconfig -a显示本机地址;
7. 客户端使用telnet IP进行访问登陆
 
========================================================================
Redhat7.0以后inetd都已换成Xinetd。

  大家对被称作超级服务器的Inetd一定很熟悉,其实现控制对主机网络连接。当一个请求到达由Inetd管理的服务端口,Inetd将该请求转发给名为tcpd的程序。Tcpd根据配置文件 hosts.{allow, deny}来判断是否允许服务该请求。如果请求被允许则相应的服务器程序(如:ftpd、telnetd)将被启动。这个机制也被称作 tcp_wrapper。

  Xinetd(全称为:eXtended InterNET services daemon)提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。它能提供以下特色:

* 支持对tcp、ucp、RPC服务(但是当前对RPC的支持不够稳定)
* 基于时间段的访问控制
* 功能完备的log功能,即可以记录连接成功也可以记录连接失败的行为
* 能有效的防止DoS攻击(Denial of Services)
* 能限制同时运行的同意类型的服务器数目
* 能限制启动的所有服务器数目
* 能限制log文件大小
* 将某个服务绑定在特定的系统接口上,从而能实现只允许私有网络访问某项服务
* 能实现作为其他系统的代理。如果和ip伪装结合可以实现对内部私有网络的访问

  它最大的缺点是对RPC支持的不稳定性,但是可以启动protmap,与xinetd共存来解决这个问题。

====================================
也就是说xinetd主要是用来管理网络服务的,难怪在执行chkconfig --list后,会显示服务和基于xinetd的服务。
====================================
 
etc/xinetd.d目录
在Linux系统中有一个终极服务程式inetd,大部分的网络服务都是由他启动的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在旧版本他的配置是在/etc/inetd.conf中配置的。
在新版本,他就改成了一个xinetd.d目录。
在xinetd.d目录中,每一个服务都有一个相应的配置文档,我们以telnet为例,说明一下各个配置行的含义:
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=yes
}
第一行,说明该配置用来配置telnet服务。
第二行,说明Socket连接类型是stream,也就是TCP
第三行,是指不等待到启动完成
第四行,是指以root用户启动服务进程
第五行,是指服务进程是/usr/sbin/in.telnetd
第六行,是用于做一些出错日志
第七行,是指禁止远方telnet,假如需要开放则将该配置改为:disable=no
修改了xinetd的配置,需要重启xinetd才能够生效,有两种方法能够实现:
1) 执行如下命令:
/etc/rc.d/init.d/xinetd restart
2) 执行如下命令:
killall -HUP xinetd
注:
1)若还不能telnet,请检查/etc/hosts.deny,将ALL:ALL注释掉。
2)若使用虚拟机,请注意VPC的网卡配置是否正确。
============================================================

修改gssftp:

# /etc/xinetd.d

# ls

# vi gssftp

                 # default: off
                 # description: The kerberized FTP server accepts FTP connections \
                 #  that can be authenticated with Kerberos 5.
                service ftp
                           {
                              flags           = REUSE
                              socket_type     = stream
                              wait            = no
                              user            = root
                              server          = /usr/kerberos/sbin/ftpd
                              server_args     = -l -a
                              log_on_failure  += USERID
                             disable         = off

                            }

changes to:

                       service ftp
                           {
                              flags           = REUSE
                              socket_type     = stream
                              wait            = no
                              user            = root
                              server          = /usr/kerberos/sbin/ftpd
                              server_args     = -l

                              log_on_failure  += USERID
                              disable         = on

                            }    

用":wq" to save config file.

# more gssftp         -> to check the content of configuration file

网址:http://www.cnblogs.com/redfox241/archive/2009/09/04/1560450.html

 
阅读(1340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~