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
显示“帮助”信息。