telnet问题总结及参考汇总
1). mount -n -t devpts devpts /dev/pts提示No such device.
原因分析:内核配置中如果UNIX98_PTYS [=n]则会提示此错误。
修改:
| Symbol: DEVPTS_MULTIPLE_INSTANCES [=y] |
| Prompt: Support multiple instances of devpts |
| Defined at drivers/char/Kconfig:459 |
| Depends on: UNIX98_PTYS [=y] |
| Location: |
| -> Device Drivers |
| -> Character devices |
| -> Unix98 PTY support (UNIX98_PTYS [=y])
2). 可以使用mount命令查看devpts是否正确mount.
3).# telnet 127.0.0.1
Entering character mode
Escape character is '^]'.
Connection closed by foreign host
原因:可能是由上一个问题引起的。
4).确认telnetd程序正确启动,可以使用ps命令查看。
参考文档:
附件1:
Escape character is '^]'. Connection closed by foreign host.
Trying 192.168.2.51...
Connected to 192.168.2.51.
Escape character is '^]'.
Connection closed by foreign host.
用busybox做的ramdisk,内核编译启动后,telnet连接板子总是失败,后来找到了原因,原来需要 mknod一下文件节点,在dev下建立pts文件夹,在/etc/init.d/rcS里面加一句
mount n /dev/pts -t devpts
mknod -m 666 /dev/ptmx c 5 2
就行了。附开启telnetd的过程:
第一种方式:通过inetd启动telnetd服务 必须这样设置busybox配置 Networking Utilities ---> 去掉 [ ] Support standalone telnetd (not inetd only) 配置/etc/inetd.conf [root@RITA ~]# vi /etc/inetd.conf telnet stream tcp nowait root /usr/sbin/telnetd telnetd 运行命令: /usr/sbin/inetd 第二种方式:直接运行telnetd,启动服务 必须这样设置busybox配置: Networking Utilities ---> 选择 [*] Support standalone telnetd (not inetd only)运行命令: /usr/sbin/telnetd可能出现的问题1)客户端登录不上,查看/var/log/message,得到如下信息: cat /var/log/messageNov 18 10:04:11 RITA daemon.err telnetd[1442]: bind: Address already in use
解决方法: 修改busybox的配置 Networking Utilities ---> 去掉 [ ] Support standalone telnetd (not inetd only)
cat /var/log/message
# psudo terminals used by telnet
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
经过上述修改后, 客户端应该可以telnet到板子上,信息如下: 在192.168.0.1上运行telnet:(板子ip:192.168.0.100) 在客户端运行命令: telnet 192.168.0.100 即出现如下登录提示信息: Welcome to RITA!RITAlogin: root
Password:
[root@RITA ~]#
我的/etc/init.d/rcS内容为:
#! /bin/ashifconfig lo 127.0.0.1
mount none /proc -t proc
mount none /sys -t sysfs
ifconfig eth0 192.168.2.51 netmask 255.252.0.0
mount n /dev/pts -t devpts
mknod -m 666 /dev/ptmx c 5 2 #For telnetd
telnetd
export PS1="Godson2@\w>"
export PATH=/mnt/bin:$PATH
附件2:
telnet协议是登陆远程网络主机最简单的方法之一,只是安全性非常低。对target board来说,必须执行telnet监控程序,这样才可以远程登陆到target board。同时,如果想从开发板通过telnet远程登陆其他host,就需要具备telent client。
在嵌入式Linux系统上的telnet的工具有:
·telnet client
busybox telnet client。busybox本身就是为嵌入式系统量身打造,其telnet client精简,而且比较好用。
·telnet server
主要有telnetd和utelnetd。就文件大小而言,utelnetd套件产生的二进制文件比telnetd要小,但是utelnetd不支持 internet super-server.下面先看busybox的telnet功能。client很简单,选择上就可以用了;而telnetd则要相对麻烦一些。
Telnetd的移植倒不麻烦,busybox已经集成了一个。但是因为开始时配置出现问题,所以费了些时间才算稳定。
(1)busybox的配置
对Telnetd的配置部分:
Networking Utilities --->
[*]telnetd
[*] Support standalone telnetd (not inetd only)
这个地方的配置说明,telnetd可以由inetd来启动,也可以standalone启动。
配置内核
UNIX98_PTYS=y
在/etc/init.d/rcS中加入
mkdir /dev/pts
mount -t devpts devpts /dev/pts
红色部分也可以在/etc/fstab中添加
devpts /dev/pts devpts defaults 0 0
手动添加
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
