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.

telnet 192.168.2.51

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/message
Nov 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

2)如果出现如下信息
Nov 18 11:48:50 RITA daemon.err telnetd[1782]: can't find free pty
解决方法一:
修改busybox配置
    Busybox Settings --->
         General Configuration --->
         去掉[ ] Use the devpts filesystem for Unix98 PTYs
解决方法二:
  mkdir /dev/pts
     mount -t devpts devpts /dev/pts //将devpts文件系统加载在/dev/pst
     mknod -m 666 /dev/ptmx c 5 2 //使用telnetd所必须的设备文件节点
    
     修改/etc/securetty,增加如下行:

   # 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/ash
ifconfig 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

手动添加

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值