最近心血来潮地安装了Ubuntu Server 9.10来尝鲜。顺便想在上面建个telnet服务,结果还真费了不少劲。究其原因主要是Ubuntu采用的是debian的那一套东西。第一次用还不太熟悉。另外网上的一些资料中有的要点没有讲清楚,让人走了弯路。下面言归正传,将此次的实践心得汇总如下:

顺便提一下Ubuntu Server 9.10 安装时的注意点:

1. Ubuntu Server 9.10安装时除非特殊原因,一定要选English,这样默认的语言就是English,到后面的控制台界面上显示时就不会有问题。如果选了中文,安装完重启后在console上会显示小方块,根本没法看命令的提示。网上分析说问题的原因是console下缺少中文字体的支持,看来中国的Linux开发者要加油呀。

2. Ubuntu Server 9.10安装过程中会自动调用aptitude。初次见面真是摸不着头脑,最好在网上先搜下说明,做到心里有数。我装的cd里面好像x11-common这个包解压时有问题,所以安装时报错,不过由于连着互联网,可以在退出aptitude后通过再次运行aptitude联网安装这个安装失败了的包。(在用Ubuntu cd安装系统时要保持互联网的连接,它会自动访问网络,并下载一些包用于安装)

3. 在Ubuntu下的telnet服务需要安装xinetd服务和telnetd服务。这两个服务可以在系统安装完毕后通过以root用户身份(sudo)运行aptitude来安装。要说明的是telnet服务属于不太安全的服务,如果是在生产服务器上装一定要三思,最好用SSH。

4. 在root用户身份下直接运行aptitude会调出一个文本模式的界面,Ctrl t可以选择菜单,上下光标和回车可以选择展开要查看的组直到具体的安装包。输入/可以直接搜索要安装或卸载的包名。当光带罩住了要操作的包名后按Ctrl t可以通过菜单去选择是Install还是Remove等等。一旦回车这选择的包名会变颜色,其前会出现i或r之类的字母表示要对这个包做的操作,Ctrl u可以放弃操作。一旦修改完对包列表的操作设定后按g几次就可以执行了(对没有下载过的包会执行下载和安装动作)。

5. 下面正式开始进入telnet服务的安装:

5.1 运行aptitude,用上下光标键移动光带到Not installed Package组里,回车,输入/,输入xinetd,会自动选中xinetd包。按Ctrl t,按光标左移到package上选Install回车。在xinetd包名前会出现一个i字母,且包名颜色变绿。再次键入/,输入telnetd,会搜索到含telnetd名字的包,按n向下选择,直到出现telnetd,让光带停在其上。Ctrl t调出菜单,左移到package上选Install回车。按g键直到出现连接升级网站开始下载并安装。等待安装完毕。

5.2 其间会出一个窗口说#<OFF>#...是无法识别的记录,否继续?选YES。

5.3 结束后按q键退出aptitude文本界面。

5.4 修改/etc/inetd.conf和/etc/xinetd.conf文件并创建/etc/xinetd.d/telnet,它们的内容如下:

vi /etc/inetd.conf

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

上面一行的开头可能是#<OFF>#把注释的部分去掉只留如上的内容。

说明:inetd.conf的配置比下面的xinetd.conf的配置要简单的多,每个服务只需配置一行。

各个字段从左至右依次表示:

● 服务名称。和xinetd一样,inetd通过查询/etc/service获得该服务的相关信息。

● 套接口类型。TCP用stream,UDP用dgram。

● 该服务使用的通信协议。

● inetd是否等到守护进程结束才继续接管端口。wait表示等待(相当于xinetd的wait = yes),nowait表示不等待,inetd每次接到一个请求就启动守护进程的新副本(相当于xinetd的wait = no)。

● 运行该守护进程的用户身份。

● 守护进程二进制文件的完整路径及其命令行参数。和xinetd不同,inetd要求把服务器命令作为第一个参数(例如in.telnetd),然后才是真正意义上的“命令行参数”(例如-w)。关键字internal表示服务的实现由inetd自己实现。

vi /etc/xinetd.conf

defaults
{
instances = 60
log_type = SYSLOG daemon info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d

关于上述内容的说明:

- instances = 60:表示最大连接进程数为60个。
- log_type = SYSLOG daemon info:表示使用syslog进行服务登记。
- log_on_success= HOST PID:表示设置成功后记录客户机的IP地址的进程ID。
- log_on_failure = HOST:表示设置失败后记录客户机的IP地址。
- cps = 25 30:表示每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务攻击。
- includedir /etc/xinetd.d:表示告诉xinetd要包含的文件或目录是/etc/xinetd.d。

vi /etc/xinetd.d/telnet

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

关于上述内容的说明:

- disable = no:表示启用这个服务。
- socket_type = stream:表示服务的数据包类型为stream。
- wait = no:表示不需等待,即服务将以多线程的方式运行。
- user = root:表示执行此服务进程的用户是root。
- server = /usr/bin/in.telnetd:启动程序的位置。
- log_on_failure += USERID:表示设置失败时,在/etc/xinetd.conf中设置的default值基础之上还把UID添加到系统登记表。

表22.3  xinetd配置的常用参数

参    数

取    值

含    义

id

有意义的字符串

该服务的唯一名称

type

RPC/INTERNAL/UNLISTED

指定特殊服务的类型。RPC用于RPC服务;INTERNAL用于构建到xinetd内部的服务;UNLISTED用于非标准服务

disable

yes/no

是否禁用该服务

socket_type

stream/dgram

网络套接口类型。TCP服务用stream,UDP服务用dgram

protocol

tcp/udp

连接使用的通信协议

wait

yes/no

xinetd是否等待守护进程结束才重新接管该端口

server

路径

服务器二进制文件的路径

server_args

参数

提供给服务器二进制文件的命令行参数

port

端口号

该服务所在的端口

user

用户名

服务器进程应该由哪个用户身份运行

nice

数字

服务器进程的谦让度。参考10.7节

instances

数字/UNLIMITED

同时启动的响应数量。UNLIMITED表示没有限制

max_load

数字

调整系统负载阈值。如果实际负载超过该阈值,就停止服务

only_from

IP地址列表

只接受来自该地址的连接请求

no_access

IP地址列表

拒绝向该IP地址提供服务

log_on_failure

列表值

连接失败时应该记录到日志中的信息

log_on_success

列表值

连接成功时应该记录到日志中的信息

表22.4  和日志记录有关的取值

适  用  于

描    述

HOST

二者皆可

记录远程主机的地址

USERID

二者皆可

记录远程用户的ID

PID

log_on_success

记录服务器进程的PID

EXIT

log_on_success

记录服务器进程的退出信息

DURATION

log_on_success

记录任务持续的时间

ATTEMPT

log_on_failure

记录连接失败的原因

RECORD

log_on_failure

记录连接失败的额外的信息

注意:USERID标志会向远程主机询问建立连接的用户信息,这样总会造成明显的延时,因此应该尽可能避免使用USERID。

这三个文件,前两个是配置xinetd的,telnet则是在xinetd里放开telnet服务用的。类debian的系统如Ubuntu里必须配置inetd.conf,这点和Redhat这类系统里通过chkconfig telnet on来实现的做法不同。

5.5 service xinetd restart 重启xinetd服务(telnet服务是由xinetd守护进程来管理的)

5.6 执行命令netstat -tna 查看监听端口是否已经起来了。

tcp 0 0 0.0.0.0:23  0.0.0.0:*    LISTEN  出现类似的这一行表示开始监听端口23 (默认的telnet服务监听的TCP端口)

5.7 执行命令ifconfig eth0 查看服务器的ip地址。

inet addr:192.168.1.10  (addr:后面就是服务器的ip)

5.8 在远程客户机的终端窗口里执行 telnet 192.168.1.10 即可。

关于telnet服务的安全性问题及xinetd的配置请参考以下网页
http://wiki.ubuntu.org.cn/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd/zh

http://book.csdn.net/bookfiles/1210/100121036104.shtml

Ubuntu Server 9.10下配置telnet服务心得相关推荐

  1. ubuntu server 9.04下配置ftp服务和可读写samba服务

    这几天很忙,也没有更新博客,刚刚忙完,简单总结一下.最近公司在大批量的更换业务到linux下面去,所有的开发机换成了ubuntu 9.04 desktop版本,我们我负责装配8台左右,弄完哪些,下午开 ...

  2. Ubuntu 10.10 下配置Telnet服务器

    首先说明我的系统环境: Ubuntu  10.10 x86 Desktop 在这个系统上默认只安装了telnet(也就是client) root@www.linuxidc.com:~# dpkg -s ...

  3. 红帽子linux开启telnet,RedHat linux 9下配置telnet服务 | 技术部落

    一.安装telnet软件包(通常要两个) 1. telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序: 2. telnet-server ,这个软件包提供的是 ...

  4. 交叉编译inetutils并配置telnet服务

    inetutils集成了许多网络客户和服务程序,主要有,finger, ftp, ftpd, rcp, rexec, rlogin, rlogind, rsh, rshd, syslog,syslog ...

  5. 为部署ASP.NET Core准备:使用Hyper-V安装Ubuntu Server 16.10

    概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win10系统内,我们只需要进行简单的安装即可.但是前提是要确保你的机器已经启用虚拟化,可以 ...

  6. 安装UBUNTU Server 11.10

    第一次安装UBUNTU Server 11.10. 虽然是第一次用Linux,感觉是傻瓜式的安装,没啥特殊的地方.但是遇到了两个难点. 1.文字乱码 参看了 渔人码头[http://www.cnblo ...

  7. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站 http://www.cnblogs.com/zhongweiv/archive/2013/01/07/http ...

  8. 如何在Windows Server 2008 R2下搭建FTP服务

    听语音 | 浏览:28648 | 更新:2014-12-21 20:42 | 标签:windows 1 2 3 4 5 6 7 分步阅读 在Windows Server 2008 R2下搭建FTP服务 ...

  9. Ubuntu kylin优麒麟下配置Hadoop环境

    Ubuntu kylin优麒麟下配置Hadoop环境 JDK目录 cd /usr/lib/jvm/java-8-openjdk-amd64 Hadoop目录 cd /usr/local/hadoop ...

最新文章

  1. 复制虚拟机网卡eth0变eth1
  2. 能量视角下的GAN模型(二):GAN=“分析”+“采样”
  3. SDNU 1474.特殊回文数(水题)
  4. JavaScript三种弹出框(alert,confirm和prompt)用法举例
  5. dragloader.js帮助你在页面原生滚动下实现Pull Request操作
  6. 操作系统的发展与分类
  7. 连接超时_记一次网络请求连接超时的事故
  8. hibernate 的session一级缓存
  9. How-to: Do Statistical Analysis with Impala and R
  10. java编写关机恶搞程序,恶搞关机脚本代码 | 学步园
  11. .NET WPF教程(1)——基础
  12. 非常好的Struts2教程
  13. 目标检测(二):OverFeat
  14. CSS实现标题样式(自用笔记)
  15. 实战用Python+Pygame+Kivy(Buildozer)+Ubuntu开发安卓android手机端apk游戏及踩坑分享
  16. 【连载之一】那些公众号不会告诉你的职业真相
  17. C语言实验——圆周率 sdut oj
  18. 算法题解01——对分搜索求立方根
  19. ora**cle数据库过期问题
  20. 《GOOGLE HACKS巧妙使用网络搜索的技巧和工具(第二版)》

热门文章

  1. Laravel artisan命令
  2. WebGL、canvas、svg
  3. photoshop基础学习之绘制耐克图标(循序渐进)
  4. FTP服务器ip地址修改,文件上传和下载详解
  5. An Improved Blockchain Consensus Algorithm Based on Raft(Raft算法改进区块链效率
  6. wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
  7. 虚拟服务器怎么建商城,如何建立一个独立商城网店初学分享ShopEx网店系统建站心得...
  8. SpringBoot+Nginx前后端分离项目部分配置总结
  9. php获取文本宽度,PHP获取一段文本显示点阵宽度和高度的方法
  10. 最简单快捷的在win7下用pycharm安装Tensorflow的方法