Linux中telnet的安装与配置

Linux中telnet的安装与配置




linux下的telnet安装和使用


Telnet服务的配置步骤如下:

  

一、安装telnet软件包(通常要两个)。


  1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;


  2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包!


  安装之前先检测是否这些软件包已安装,方法如下:

    [root@localhost ~]# rpm -q telnet

    telnet-0.17-38.el5

    telnet客户端一般默认情况是已安装

    [root@localhost ~]# rpm -q telnet-server

    无表示未安装


二、安装telnet-server

    

    运行命令安装:

    [root@localhost root]# rpm -ivh --force telnet-server-0.17-39.el5.i386.rpm

    warning: CentOS/telnet-server-0.17-39.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

    error: Failed dependencies:

        xinetd is needed by telnet-server-0.17-39.el5.i386

    在这里提示安装出错,需要xinetd依赖包,那我们就先装它吧!当然,一般xinetd作为linux的超级服务是不需要我们安装的,系统自带的有

    【备注:安装telnet时,如果是通过yum来安装,会首先自动下载所需要的缺少的文件,然后再进行telnet-server的安装。

     yum install telnet-server-0.17-37.i386.rpm 命令解决】


    [root@localhost root]# rpm -ivh --force xinetd-2.3.14-10.el5.i386.rpm

    warning: CentOS/xinetd-2.3.14-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

    Preparing...                ########################################### [100%]

       1:xinetd                 ########################################### [100%]

    安装完成

    下面我们来安装telnet-server

    [root@localhost root]# rpm -ivh --force telnet-server-0.17-39.el5.i386.rpm

    warning: CentOS/telnet-server-0.17-39.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

    Preparing...                ########################################### [100%]

       1:telnet-server          ########################################### [100%]

   现在可以正常安装了,安装完成下面我们需要配置服务!


三、配置服务

    

    1、开启服务


    启动和停止Telnet服务,Telnet服务并不像其他服务(如HTTP和FTP等)一样作为独立的守护进程运行,它使用xinetd程序管理,这样不但能提高安    全性,而且还能使用xinetd对Telnet服务器进行配置管理。

    Telnet服务安装后默认并不会被xinetd启用,还要修改文件/etc/xinetd.d/telnet将其启用。其实/etc/xinetd.d/telnet文件是xinetd程序配置文     件的一部分,可以通过它来配置Telnet服务器的运行参数。


  方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !

           空格键 “选择”   ,tab键  "确定&取消"

  方法二:编辑 /etc/xinetd.d/telnet

           [root@localhost root]#vi /etc/xinetd.d/telnet

           [root@localhost root]# vi /etc/xinetd.d/telnet

           将语句 disable = yes 改成 disable = no 保存退出。

    方法三:使用命令

           # chkconfig --add telnet

           # chkconfig telnet on     #设置在启动系统时,启动telnet服务


    2、激活服务


  telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,

    所以刚刚设定的 telnet 自然也就可以被激活。

    [root@localhost cdrom]# service xinetd restart

    停止 xinetd:                                              [确定]

    启动 xinetd:                                              [确定]


四、测试服务


    telnet命令的一般形式为:

    telnet 主机名/IP

    其中“主机名/IP”是要连接的远程机的主机名或IP地址。

    

    1、 这是在两台linux上的链接     注:默认只允许普通用户

    

    [root@localhost root]# telnet 172.16.1.2

    Trying 172.16.1.2...

    Connected to 172.16.1.2.

    Escape character is '^]'.

    Red Hat Linux release 9 (Shrike)

    Kernel 2.4.20-8 on an i686

    login: yanji

    Password:

    Last login: Tue Apr 15 12:46:50 from 172.16.1.3




   注意 如果装系统的时候带上了防火墙需要

    # iptables -F   #关闭防火墙 

   才能远端telnet到服务器 


   2、Telnet客户端在Windows平台下的使用


   选择“开始”→“运行”,在出现的“运行”对话框中输入“telnet 服务器的IP地址或域名”,然后再单击“确定”按钮。 

   如果Telnet成功地连接到远程服务器,就会显示登录信息并提示用户输入用户名和口令。

   如果用户名和口令输入正确,就能成功登录。用户登录进入后就出现SHELL界面,可以执行各种命令和访问系统的资源 。


   用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户的本地机的Shell提示符下。

   这样就完成了Linux telnet命令的相关操作了。+-



五、配置Telnet root用户的登入


   root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。

   若要允许root用户登入,可用下列方法


   1、[root@localhost root]# vi /etc/pam.d/login

      #auth required pam_securetty.so #将这一行加上注释!


   2、# mv /etc/securetty /etc/securetty.bak

      这样一来, root 将可以直接进入 Linux 主机。

      不过,建议不要这样做。最好是在普通用户进入后,切换到root用户,拥有root的权限!




六、设置telnet端口


    Telnet服务器默认在23端口监听所有客户机的连接,出于安全的考虑,可以更改服务器监听的端口。 

    #vi /etc/services

    进入编辑模式后查找telnet

    会找到如下内容:

    telnet 23/tcp

    telnet 23/udp

    将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。


七、Telnet服务限制


    如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的        192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:

    #vi /etc/xinetd.d/telnet

    # 先针对对内的较为松散的限制来设定:

    service telnet

    { disable    = no         <==预设就是激活 telnet 服务

    bind       = 210.45.160.17    <==只允许经由这个适配卡的封包进来

    only_from    = 210.45.160.0/24   <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务

    .....

    }

   # 再针对外部的联机来进行限制

   service telnet


  {

   disable     = no<==预设就是激活 telnet 服务

   bind       = 192.168.0.1<==只允许经由这个适配卡的封包进来

   only_from    = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务

   only_from    = .edu.cn<==重复设定,只有教育网才能联机!

   no_access    = 192.168.25.{10,26}<==不许这些 PC 登入

   access_times  = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务

   ......

   }


八、Telnet服务最大连接数


   编辑文件/etc/xinetd.d/telnet,在花括号“{ }”中添加语句“instances = 3”,这里的“3”是指Telnet服务同时只允许3个连接。


九、常见问题处理


   1、文件的上传与下传:

      telnet服务本身是不具备文件上传和下传功能的,我想这也是telnet与ftp,ssh的一点区别。

      但我们可以在telnet连接中再进行ftp连接来解决该问题。


   2、linux下提示bash:command not found的解决方法: 

      如果是新安装的linux系统,如果进行精简安装可能会出现bash:command not found 的提示,

      大家在安装的时候可以选择默认安装basic的组件,一般就可以解决问题。

      如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,提示:bash:command not found。

      那么首先就要考虑root 的$PATH里是否已经包含了这些环境变量。 

      主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。 

      四个主要存放的地方: 

/bin: 

bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 

/usr/bin: 

主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。 

/sbin: 

主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。 

/usr/sbin: 

放置一些网路管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。 

  

     可以在家目录下查看.bash_profile里的PATH。如果是:PATH=$PATH:$HOME/bin则需要添加成如下: 

     PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin 

     然后执行下面命令 

     source .bash_profile 使其生效



telnet 使用命令汇总

大家都知道,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

  Telnet 命令使用方法

  Telnet 命令允许您与使用 Telnet 协议的远程计算机通讯。运行 Telnet 时可不使用参数,以便输入由 Telnet 提示符 (Microsoft Telnet>) 表明的 Telnet 上下文。可从 Telnet 提示符下,使用 Telnet 命令管理运行 Telnet 客户端的计算机。

  Telnet 客户端命令提示符接受以下命令:

  open : 使用 openhostname 可以建立到主机的 Telnet 连接。

  close : 使用命令 close 命令可以关闭现有的 Telnet 连接。

  display : 使用 display 命令可以查看 Telnet 客户端的当前设置。

  send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令:

  ao : 放弃输出命令。

  ayt : “Are you there”命令。

  esc : 发送当前的转义字符。

  ip : 中断进程命令。

  synch : 执行 Telnet 同步操作。

  brk : 发送信号。

  上表所列命令以外的其他命令都将以字符串的形式发送至 Telnet 服务器。例如,sendabcd 将发送字符串 abcd 至 Telnet 服务器,这样,Telnet 会话窗口中将出现该字符串。

  quit

  使用 quit 命令可以退出 Telnet 客户端。

  set

  使用带有下列参数之一的 set 命令为当前会话配置 Telnet 客户端。

  bsasdel

  Backspace 将作为删除而发送。

  codeset option

  只有当语言设置为日语时才可用。将当前代码集设置为选项,可以为下列选项之一:

  ? Shift JIS

  ? Japanese EUC

  ? JIS Kanji

  ? JIS Kanji (78)

  ? DEC Kanji

  ? NEC Kanji

  应该在远程计算机上设置相同的代码集。默认情况下,Telnet 客户端使用光栅字体。使用这些代码集访问远程计算机之前,您必须配置 Telnet 客户端以使用 TrueType 字体,从而确保正确地显示字符。

  crlf

  新行模式:导致 Return 键发送 0x0D, 0x0A。

  delasbs

  Delete 将作为退格键发送。

  escapecharacter

  从 Telnet 会话模式转换到 Telnet 命令模式。当处于 Telnet 命令模式时,按 Enter 将会返回到 Telnet 会话模式。

  localecho

  打开 localecho。

  logfilename

  指定为该会话将 Telnet 日志写入到的文件的名称。如果不指定该文件的路径,将在当前目录中创建文件。指定日志文件还会启动日志记录。

  logging

  启动该会话的日志。

  mode {console | stream}

  操作的模式。

  ntlm

  启动 NTLM 身份验证。

  term {ansi | vt100 | vt52 | vtnt}

  您希望 Telnet Client 模拟的终端的类型。

  ?

  显示 set 的帮助信息。

  unset

  使用 unset 命令可以关闭先前使用 set 命令设置的选项。

  status

  使用 status 命令可以确定运行 Telnet 客户端的计算机是否已成功连接。

  ?/help

  显示“帮助”信息。

你可能感兴趣的:(Linux,RH,基础/ubuntu)