是服务器还是客户端,一定要搞清楚!
如果我说我在嵌入式系统中实现了nfs协议,那其实是不完善的说法,是实现了客户端,还是服务器,还是both。前段时间接到了基于嵌入式系统实现IP-SAN的需求,搜索了下文章,很多,但都是实现的iscsi initiator可以理解为IP-SAN的客户端),而我接到的需求实际上实现iscsi target(可以理解为IP-SAN的服务器),两者的难度差别巨大,后者在国内基本还是空白。
此题外话。下面进入正题。
telnet是个很常见的东西,linux的内核就支持它而无需而外的软件包。而telnet的daemon我原以为是busybox带的,后来发现不是,其实要查看一个daemon是怎么实现的很简单,用-V来查看版本信息,如下:
-sh-2.05b# telnetd -V
telnetd - GNU inetutils 1.4.2
Copyright (C) 1998,2001,2002 Free Software Foundation, Inc.
GNU inetutils comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU inetutils
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.
原来telnetd是GNU inetutils 1.4.2实现的。
板子(IP地址:192.168.1.34)启动后,用telnet远程它。linux用户:
#telnet 192.168.1.34
windows用户在开始->运行telnet 192.168.1.34
一开始,总是提示login incorrect,而用户名和密码是没有问题的。这是因为:
当根用户试图登陆时,login程序首先查阅/etc/securetty, 看看其中是否列出了当前字符终端设备。如果没有找到, login会认为它不安全,而提示口令,而后报告Login incorrect 错误。原来,就是是要注意这里:
telnet登录的端口,这个端口一定要包含在/etc/securrety文件里,否则telnet是无法登录的。
-sh-2.05b# vi /etc/securetty
1;1H0J1;1Hconsole
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
ttyS0
ttyS1
ttyS2
ttyS3
ttyp0
ttyp1
ttyp2
ttyp3
ttyAM0
ttyAM1
tts/0
tts/1
pts/0
pts/1
pts/2
pts/3
也就是说,如果要telnet登录板子的客户端多,你就要在这个文件里面添加,如本例的ttyp4、ttyp5、ttyp6......
比如银行柜员用的机器就是telnet到银行服务器的。
退出telnet,用exit命令。