加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux基础命令:telnet

发布时间:2020-12-14 00:11:33 所属栏目:Linux 来源:网络整理
导读:telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的?能力。在终端使用者的电脑上使用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.120.206

输出:

?

[ [email?protected]?~]#?telnet?192.168.120.209
Trying?192.168.120.209...
telnet:?connect?to?address?192.168.120.209:?No?route?to?host
telnet:?Unable?to?connect?to?remote?host:?No?route?to?host
[ [email?protected]?~]#?

?

说明:

处理这种情况方法:

(1)确认ip地址是否正确?

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

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

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

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

?

实例2:域名无法解析

命令:

telnet?www.baidu.com

输出:

?

[ [email?protected]?~]#?telnet?www.baidu.com
www.baidu.com/telnet:?Temporary?failure?in?name?resolution
[ [email?protected]?~]#?

?

说明:

处理这种情况方法:

(1)确认域名是否正确

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

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

?

实例3:

命令:

输出:

?

[ [email?protected]?~]#?telnet?192.168.120.206
Trying?192.168.120.206...
telnet:?connect?to?address?192.168.120.206:?Connection?refused
telnet:?Unable?to?connect?to?remote?host:?Connection?refused
[ [email?protected]?~]#

?

说明:

处理这种情况:

(1)确认ip地址或者主机名是否正确?

(2)确认端口是否正确,是否默认的23端口

?

实例4:启动telnet服务

命令:

service?xinetd?restart

输出:

?

[ [email?protected]?~]#?cd?/etc/xinetd.d/
[ [email?protected]?xinetd.d]#?ll
总计?124
-rw-r--r--?1?root?root?1157?2011-05-31?chargen-dgram
-rw-r--r--?1?root?root?1159?2011-05-31?chargen-stream
-rw-r--r--?1?root?root??523?2009-09-04?cvs
-rw-r--r--?1?root?root?1157?2011-05-31?daytime-dgram
-rw-r--r--?1?root?root?1159?2011-05-31?daytime-stream
-rw-r--r--?1?root?root?1157?2011-05-31?discard-dgram
-rw-r--r--?1?root?root?1159?2011-05-31?discard-stream
-rw-r--r--?1?root?root?1148?2011-05-31?echo-dgram
-rw-r--r--?1?root?root?1150?2011-05-31?echo-stream
-rw-r--r--?1?root?root??323?2004-09-09?eklogin
-rw-r--r--?1?root?root??347?2005-09-06?ekrb5-telnet
-rw-r--r--?1?root?root??326?2004-09-09?gssftp
-rw-r--r--?1?root?root??310?2004-09-09?klogin
-rw-r--r--?1?root?root??323?2004-09-09?krb5-telnet
-rw-r--r--?1?root?root??308?2004-09-09?kshell
-rw-r--r--?1?root?root??317?2004-09-09?rsync
-rw-r--r--?1?root?root?1212?2011-05-31?tcpmux-server
-rw-r--r--?1?root?root?1149?2011-05-31?time-dgram
-rw-r--r--?1?root?root?1150?2011-05-31?time-stream
[ [email?protected]?xinetd.d]#?cat?krb5-telnet?
#?default:?off
#?description:?The?kerberized?telnet?server?accepts?normal?telnet?sessions,?
#??????????????but?can?also?use?Kerberos?5?authentication.
service?telnet
{
????????flags???????????=?REUSE
????????socket_type?????=?stream????????
????????wait????????????=?no
????????user????????????=?root
????????server??????????=?/usr/kerberos/sbin/telnetd
????????log_on_failure??+=?USERID
????????disable?????????=?yes
}
[ [email?protected]?xinetd.d]#?

?

说明:

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

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.0.2?#只允许192.168.0.2登录?

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

no_access?=?192.168.0.{2,3,4}?#禁止192.168.0.2、192.168.0.3、192.168.0.4登录?

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

access_times?=?9:00-12:00?13:00-17:00?#?每天只有这两个时段开放服务(我们的上班时间:P)?

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

bind?=?192.168.0.2?

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

?

配置端口,修改services文件:

#?vi?/etc/services?

找到以下两句?

telnet?23/tcp?

telnet?23/udp?

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

启动服务:

service?xinetd?restart?

?

实例5:正常telnet

命令:

telnet?192.168.120.204

输出:

?

[ [email?protected]?~]#?telnet?192.168.120.204
Trying?192.168.120.204...
Connected?to?192.168.120.204?(192.168.120.204).
Escape?character?is?‘^]‘.

????localhost?(Linux?release?2.6.18-274.18.1.el5?#1?SMP?Thu?Feb?9?12:45:44?EST?2012)?(1)

login:?root
Password:?
Login?incorrect

?

说明:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读