每天一个Linux命令,今天是网络命令中的Telnet。

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

  但是,Telnet 因为采用明文传送报文,安全性不好,很多Linux 服务器都不开放Telnet 服务,而改用更安全的SSH方式了。但仍然有很多别的系统可能采用了Telnet 方式来提供远程登录,因此弄清楚Telnet 客户端的使用方式仍是很有必要的。

  Telnet 命令还可以作为别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。

  1.命令格式:

    Telnet [参数] [主机]

  2.命令功能:

    执行Telnet 指令开启终端机阶段作业,并登入远端主机

  3.命令参数:

    -8  允许使用8位字符资料,包括输入与输出

    -a  尝试自动登入远端系统

    -b  使用别名指定远端主机名称

    -c  不读取用户专属目录里的.telnetrc文件。

    -d  启动排错模式

    -e  设置脱离字符

    -E   滤除脱离字符

    -f  此参数的效果和指定 -F  参数相同

    -F  使用 kerberos  V5  认证时,加上此参数可把本地主机的认证数据上传到远端主机

    -k  使用kerberos   认证时,加上此参数让远端主机采用指定的域名,而非该主机的域名

    -K  不自动登入远端主机

    -l  指定要登入远端主机的用户名称

    -L  允许输入8为字符资料

    -n  指定文件记录相关信息

    -r  使用类似 rlogin指令的用户界面

    -S  设置Telnet 连线所需的IP  TOS信息

    -x  架设主机有支持数据加密的功能,就是用它

    -X  关闭指定的认证形态

  4.使用实例:

  实例1:远程服务器无法访问

  命令:

    Telnet  192.168.1.1

    当提示Telnet unable to  connect to remote  hsot 等

  说明:处理这种情况,

  1)先确认IP地址是否正确

  2)确认IP地址对应的主机是否已经开机

  3)如果主机已经启动,确认路由设置是否设置正确?(使用 route 命令查看)

  4)如果主机已经启动,确认主机上是否开启了 Telnet 服务?(使用netstat 命令查看,TCP的23 端口是否有 listen 状态的行)

  5)如果主机已经启动 Telnet 服务,确认防火墙是否放开了 23 端口的访问?(使用 iptables-save查看)

  实例2:域名无法解析

  命令:

    Telnet  www.baidu.com

  说明:

    1)确认域名是是否正确

    2)确认本机的域名解析有关的设置是否正确(/etc/resolve.conf中nameserver的设置是否正确,如果没有,可以使用  nameserver 114.114.114.114/8.8.8.8)

    3)确认防火墙是否开放了 USP53端口的访问(DNS使用 UDP协议,端口 53, 使用 IPTABLES-SAVE查看)

  实例3:启动Telnet 服务

  命令:

    service  xinetd   restart

  配置参数,通常的配置如下:

  service  telnet

  {

  disable  =  no  #启用

  flags  =  REUSE  #socket 可重用

  socket_type  =  stream  #连接方式为TCP

  wait  =  no  #为每个请求启动一个进程

  user  =  root  #启动服务的用户为 root

  server  =  /usr/sbin/in.telnetd  #要激活的进程

  log_on_failure  +=  USERID  #登录失败时记录登录用户名

  }

  如果要配置允许登录的客户端列表,加入

  only_from  =  192.168.1.1  #只允许 192.168.1.1登录

  如果要配置禁止登录的客户端列表,加入

  no_access  =  192.168.1.{2,3,4}  #禁止192.168.1.2/3/4登录

  如果要设置开放时段,加入

  access_times  =  9:00-12:00  #每天只有这个时间段开放服务

  如果你有两个IP地址,一个是私网的IP地址如192.168.1.1,一个是公网的IP地址如 192.168.1.2,如果你希望用户只能从私网来登录Telnet服务,那么加入

  bind  =  192.168.1.1

  个配置项具体的含义和语法可参考 xined 配置文件属性说明(man   xinetd.conf)  

  配置端口,修改 services 文件:

  #  vi   /etc/services

  找到以下两句

  Telnet  23/tcp

  Telnet  23/udp

  如果前面有 #字符,就去掉它,Telnet的默认端口是 23,这个端口也是黑客端口扫面的主要对象,因此最好将这个端口修改掉,修改的方法很简单,就是将23这个数字修改掉,改成大一点的数字,比如 61123,注意,1023以下的端口号是 Internet 保留的端口号,因此最好不要用,还应该注意不要与其它服务的端口冲突。

  启动服务:

  service  xinetd  restart  

  一般情况下是不允许 root  从远程登录的,可以先用普通账号登录,然后再 su   切到root 用户。

每天一个linux命令(45)--telnet命令的更多相关文章

  1. Linux学习之telnet命令

    telnet命令通常用来远程登录,telnet程序是基于TELNET协议的远程登录客户端程序,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式,它为用户 ...

  2. linux常用命令:telnet 命令

    telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户 ...

  3. Linux下,telnet命令如何退出

    测试连接本地的memcached telnet 链接后是这样的: wangkongming@Vostro ~ $ telnet Trying 127.0.0.1... Connected to 127 ...

  4. linux下运行telnet命令出现command not find解决办法

    原因是没有安装telnet客户端和服务(缺一不可) yum list telnet*   查看telnet相关的安装包yum install telnet-server 安装telnet服务yum i ...

  5. ping命令和telnet命令

    1.检查能不能连接上远程主机 ping  主机ip 2.检查远程主机端口是不是开放 telnet 198.10.10.69 1521 Trying 198.10.10.69...Connected t ...

  6. 每天一个linux命令(58):telnet命令

    telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户 ...

  7. 每天一个linux命令(50):telnet命令

    telnet 命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是 Internet远程登陆服务的标准协议和主要方式.它为 ...

  8. 【转】每天一个linux命令(58):telnet命令

    原文网址:http://www.cnblogs.com/peida/archive/2013/03/13/2956992.html telnet命令通常用来远程登录.telnet程序是基于TELNET ...

  9. 每天一个Linux命令(52)telnet命令

        执行telnet指令开启终端机阶段作业,并登入远端主机.     (1)用法:     用法:  telnet [参数] [主机]     (2)功能:     功能:  telnet命令通常 ...

随机推荐

  1. shell 创建带参数的命令方法

    主要用到case in,和shift命令. shift 命令是从参数数组中,删除当前第一个参数. while [ "$1" != "" ] do case $1 ...

  2. add jars和add external jars有什么区别

    原文add jars和add external jars有什么区别?   add jars和add external jars有什么区别?   add external jars  = 增加工程外部的 ...

  3. Grunt构建工具插件篇——之less工具

    Grunt--Less 摘要: 之前介绍了自动构建工具Grunt,其中有一个模块是"grunt-contrib-less",下面是配置Grunt自动编译less文件. 安装: Gr ...

  4. DELPHI中MessageBox的用法

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  5. Cisco VPN Client Error 56解决

    Cisco VPN Client Error 56解决 VPN Client报错 650) this.width=650;" style="width:575px;height:1 ...

  6. xhtmlrenderer渲染pdf,中文换行

    在实际开发中,发现在table中显示中文,渲染出来的pdf,中文内容不自动换行.经过搜索发现了一种解决方案,如下: 重写Breaker,修改right计算方式 /* * Breaker.java * ...

  7. svg defs 进行定义 引用

    svg defs 进行定义 引用: <%@ page language="java" contentType="text/html; charset=UTF-8&q ...

  8. PHP上传图片重命名6种方案

    一. 适用场景:无法使用从数据库中返回的自增长数字,给上传图片重命名.这是图片或文件上传的流程决定的.一般图片上传处理过程是,先上传图片到服务器,重命名之后,插入到数据库.也就是说,在数据库中非常容易 ...

  9. 以Tomcat+Mysql为例,实现Docker多容器连接

    Docker提供了多个容器直接访问的方法,最简单的方式是直接使用端口映射-p参数指定映射的端口或者-P映射所有端口,多个容器直接通过网络端口进行访问. 但网络端口映射方式并不是Docker中连接多个容 ...

  10. 解析.NET对象的跨应用程序域访问(下篇)

    转眼就到了元宵节,匆匆忙忙的脚步是我们在为生活奋斗的写照,新的一年,我们应该努力让自己有不一样的生活和追求.生命不息,奋斗不止.在上篇博文中主要介绍了.NET的AppDomain的相关信息,在本篇博文 ...