Ubuntu Server 9.10下配置telnet服务心得
最近心血来潮地安装了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服务心得相关推荐
- ubuntu server 9.04下配置ftp服务和可读写samba服务
这几天很忙,也没有更新博客,刚刚忙完,简单总结一下.最近公司在大批量的更换业务到linux下面去,所有的开发机换成了ubuntu 9.04 desktop版本,我们我负责装配8台左右,弄完哪些,下午开 ...
- Ubuntu 10.10 下配置Telnet服务器
首先说明我的系统环境: Ubuntu 10.10 x86 Desktop 在这个系统上默认只安装了telnet(也就是client) root@www.linuxidc.com:~# dpkg -s ...
- 红帽子linux开启telnet,RedHat linux 9下配置telnet服务 | 技术部落
一.安装telnet软件包(通常要两个) 1. telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序: 2. telnet-server ,这个软件包提供的是 ...
- 交叉编译inetutils并配置telnet服务
inetutils集成了许多网络客户和服务程序,主要有,finger, ftp, ftpd, rcp, rexec, rlogin, rlogind, rsh, rshd, syslog,syslog ...
- 为部署ASP.NET Core准备:使用Hyper-V安装Ubuntu Server 16.10
概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win10系统内,我们只需要进行简单的安装即可.但是前提是要确保你的机器已经启用虚拟化,可以 ...
- 安装UBUNTU Server 11.10
第一次安装UBUNTU Server 11.10. 虽然是第一次用Linux,感觉是傻瓜式的安装,没啥特殊的地方.但是遇到了两个难点. 1.文字乱码 参看了 渔人码头[http://www.cnblo ...
- Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站 http://www.cnblogs.com/zhongweiv/archive/2013/01/07/http ...
- 如何在Windows Server 2008 R2下搭建FTP服务
听语音 | 浏览:28648 | 更新:2014-12-21 20:42 | 标签:windows 1 2 3 4 5 6 7 分步阅读 在Windows Server 2008 R2下搭建FTP服务 ...
- Ubuntu kylin优麒麟下配置Hadoop环境
Ubuntu kylin优麒麟下配置Hadoop环境 JDK目录 cd /usr/lib/jvm/java-8-openjdk-amd64 Hadoop目录 cd /usr/local/hadoop ...
最新文章
- 复制虚拟机网卡eth0变eth1
- 能量视角下的GAN模型(二):GAN=“分析”+“采样”
- SDNU 1474.特殊回文数(水题)
- JavaScript三种弹出框(alert,confirm和prompt)用法举例
- dragloader.js帮助你在页面原生滚动下实现Pull Request操作
- 操作系统的发展与分类
- 连接超时_记一次网络请求连接超时的事故
- hibernate 的session一级缓存
- How-to: Do Statistical Analysis with Impala and R
- java编写关机恶搞程序,恶搞关机脚本代码 | 学步园
- .NET WPF教程(1)——基础
- 非常好的Struts2教程
- 目标检测(二):OverFeat
- CSS实现标题样式(自用笔记)
- 实战用Python+Pygame+Kivy(Buildozer)+Ubuntu开发安卓android手机端apk游戏及踩坑分享
- 【连载之一】那些公众号不会告诉你的职业真相
- C语言实验——圆周率 sdut oj
- 算法题解01——对分搜索求立方根
- ora**cle数据库过期问题
- 《GOOGLE HACKS巧妙使用网络搜索的技巧和工具(第二版)》
热门文章
- Laravel artisan命令
- WebGL、canvas、svg
- photoshop基础学习之绘制耐克图标(循序渐进)
- FTP服务器ip地址修改,文件上传和下载详解
- An Improved Blockchain Consensus Algorithm Based on Raft(Raft算法改进区块链效率
- wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
- 虚拟服务器怎么建商城,如何建立一个独立商城网店初学分享ShopEx网店系统建站心得...
- SpringBoot+Nginx前后端分离项目部分配置总结
- php获取文本宽度,PHP获取一段文本显示点阵宽度和高度的方法
- 最简单快捷的在win7下用pycharm安装Tensorflow的方法