Ubuntu 14.10 配置Telnet服务
虽然Telnet是不安全的,但对于学习服务器编程来说,他有一个很方便的用处。Telnet可以作为一个简单的客户端程序连接到编写的Socket服务器进行简单的数据通信。之前试了很多网上提供的配置方法都没成功,这里总结一下最终的配置过程。我用的是Ubuntu14.10,应该大多系统都是这几个步骤。
1. 安装Telnet 客户端
$ sudo apt-get install telnet
2. 安装Telnet 服务器 (这样才能用A电脑的客户端连接B电脑的Telnet服务)
$ sudo apt-get install telnetd
3. 这时候Telnet服务器是无法自我启动的,需要网络守护进程服务程序来管理它。
(1)$ sudo apt-get install openbsd-inetd
这是网上一个帖子里看到的,安装后第一次可以正常登陆Telnet ,但是不知为何之后每次执行登陆服务器就会宕机,提示connection closed by foreign host。所以选择方法(2)安装 xinetd 来代替openbsd-inetd 。
(2)$ sudo apt-get install xinetd 安装 xinetd
4. 修改配置文件
$ sudo vim /etc/inetd.conf
添加:
telnet stream tcp nowait telnetd /usr/sbin/tcpd/ /usr/sbin/in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd/ /usr/sbin/in.telnetd
$ sudo vim /etc/inetd.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
$ sudo vim /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 #in.telnetd是telnetd安装文件
log_on_failure += USERID
}
$ sudo /etc/init.d/xinetd restart 重启服务
$ netstat -a | grep telnet 查看服务,显示服务器正在监听
$ telnet localhost 尝试连接本机,输入用户名、密码后连接成功
$ netstat -a | grep telnet 可以看到已连接到本机服务,客户端与服务器可以进行数据传输
$ logout 退出登陆