Telnet和SSH配置学习笔记

  1. Telnet应用场景

为方便通过命令行管理设备,可以使用Telnet协议对设备进行管理。

Telnet协议与使用Console接口管理设备不同,无需专用线缆直连设备的Console接口,只要IP地址可达、能够和设备的TCP 23端口通信即可。

支持通过Telnet协议进行管理的设备被称为Telnet服务器端,而对应的终端则被称为Telnet客户端。很多网络设备同时支持作为Telnet服务器端、Telnet客户端。

例如,在日常网络运维中,可以在交换机,路由器,服务器和防火墙等设备上开启Telnet服务,客户端可以在PC机上进行安装远程管理,一些常用的远程终端管理连接工具有Xshell、PuTTY、SecureCRT、MobaXterm等。

2.虚拟用户界面

当用户使用Console接口、Telnet等方式登录设备的时候,系统会分配一个用户界面(user-interface)来管理、监控设备与用户间的当前会话,每个用户界面视图可以配置一系列参数用于指定用户的认证方式、登录后的权限级别,当用户登录设备后将会受这些参数限制。

Telnet所对应的用户界面类型为VTY(Virtual Type Terminal,虚拟类型终端)。

3.配置命令介绍

3.1开启Telnet服务器端功能 使能设备的Telnet服务器端功能。

[Huawei] telnet server enable

缺省情况下,设备的Telnet服务器端功能处于去使能状态,undo telnet serverenable即可重新关闭Telnet服务器端功能。

3.2进入用户视图

[Huawei] user-interface vty first-ui-number [ last-ui-number ]

进入VTY用户界面视图。不同设备型号的VTY接口可能并不一致。

3.3配置VTY用户界面支持的协议

[Huawei-ui-vty0-4]] protocol inbound { all | telnet }

缺省情况下,VTY用户界面支持的协议是SSH(Secure Shell Protocol ,安全外壳协议)和Telnet。

3.4配置认证方式以及密码认证方式下的认证密码

[Huawei-ui-vty0-4] authentication-mode {aaa | none | password}

[Huawei-ui-vty0-4] set authentication password cipher

缺省情况下,无默认认证方式,需要进行手动配置。

不同VRP版本执行set authentication password cipher命令有差异:某些版本需要回车后输入密码,某些版本可直接在命令后输入密码。

  1. 配置示例

描述:如图所示,R1和R2通过二层交换机直连。实验中使用的是AR2220设备。

需求:R1模拟PC远程Telnet控制R2,在R2上开启Telnet服务,认证方式为AAA本地认证。在本地创建名为admin的账号,密码为admin@123,权限为15级。

4.1配置接口IP

R1:

sysname PC

undo info-center enable

interface GigabitEthernet0/0/0

ip address 12.1.1.1 255.255.255.0

quit

因为模拟器环境的PC不具备Telnet功能,所以用路由设备来进行模拟PC

R2:

sysname R2

undo info-center enable

interface GigabitEthernet0/0/0

ip address 12.1.1.2 255.255.255.0

quit

interface LoopBack0

ip address 2.2.2.2 255.255.255.255

quit

4.2在R2开启Telnet服务

telnet server enable #开启Telnet服务

有些设备默认开启了Telnet服务,如果想要看是否开启了Telnet服务,可以使用命令:display telnet server status

user-interface vty 0 4

authentication-mode aaa

protocol inbound telnet

quit

查看用户视图的配置,protocol inbound telnet这个命令默认开启,因此没有显示。

4.3配置AAA服务

aaa

local-user admin privilege level 15 password cipher admin@123

local-user 创建用户名 权限 等级 15 密码 加密 XXX

local-user admin service-type telnet #配置用户服务类型

quit

4.4验证测试

(1)PC(R1) ping R2

(2)在PC上远程Telnet控制R2,这里R1上需要退到用户视图<>下进行操作:

[PC]quit

<PC>telnet 12.1.1.2

4.5抓包查看Telnet报文

现在GE0/0/0处点击"开始抓包"

接着在R1上进行Telnet操作,即可抓到报文

从抓到Telnet的报文可以到Telnet是基于TCP的23号端口

接着点击"分析"抓取到的Telnet报文,点击"追踪流",对"TCP流"分析,图中可以看到12.1.1.1 与12.1.1.2通过Telnet交互的报文一旦被捕获,攻击者是可以看到用户名和密码的,包括配置的过程,非常的不安全。

总结:通过抓取Telnet的报文可以看到其是基于TCP 23 端口封装;

Telnet的报文是明文传输,不安全。

4.6思考:如果想让R1(PC)telnet 2.2.2.2来控制R2,还需要做什么?

现在直接Telnet 2.2.2.2的话是无法远程的,原因是没有路由达到2.2.2.2,我们可以ping测试或者查看路由表。

ping测试

查看路由表

那么如何做才能够Telnet 2.2.2.2,我们需要做一条静态路由指向2.2.2.2的,当然也可以做缺省路由。

ip route-static 2.2.2.2 32 12.1.1.2

或者

ip route-static 0.0.0.0 0 12.1.1.2

能够联通2.2.2.2之后,即可Telnet 2.2.2.2

  1. SSH

SSH :security shell 安全的远程控制协议端口tcp 22号端口

特点:传输的数据是加密的,常用于远程控制路由器、交换机、Linux服务器等。

注意:模拟器中router 路由器不支持 ssh ,AR2220支持

6.配置示例

描述:如图所示,R1和R2直连。

注意:模拟器中router 路由器不支持 ssh ,AR2220支持

需求:在R2上开启SSH服务,认证方式为AAA本地认证。在本地创建名为admin的账号,密码为admin@123,权限为15级。

6.1配置接口IP

R1:

sysname R1

undo info-center enable

interface GigabitEthernet0/0/0

ip address 12.1.1.1 255.255.255.0

quit

R2:

sysname R2

undo info-center enable

interface GigabitEthernet0/0/0

ip address 12.1.1.2 255.255.255.0

quit

interface LoopBack0

ip address 2.2.2.2 255.255.255.255

quit

6.2在R2上开启SSH服务

stelnet server enable #开启SSH服务

user-interface vty 0 4 #进入用户视图

authentication-mode aaa #配置AAA认证模式

protocol inbound ssh #允许SSH服务通过

quit

6.3配置AAA,创建admin用户,设置等级权限和用户登录密码

aaa

local-user admin privilege level 15 password cipher admin@123

local-user admin service-type ssh

quit

6.4验证测试

(1)R1 ping R2

(2)SSH控制R2

首次直接去stelnet 12.1.1.2,可能会出错,如何解决?

在系统视图下配置ssh客户端首次登录服务开启命令

ssh client first-time enable

stelnet 12.1.1.2 需要再系统视图[ R1 ]下进行,无法在用户视< R1 >图下进行:

查看当前有哪些用户登上设备,可以使用命令:

display users

注意1:不同版本VRP系统配置略有差异,配置时建议查询相应版本产品文档。如部分VRP系统版本还需如下配置:(模拟器可以不敲)

rsa local-key-pair create

ssh user aa

ssh user aa authentication-type all

ssh user aa service-type all

ssh server-source all-interface

注意2:由于SSH加密涉及密钥算法,需保证客户端和服务端所支持的算法可以协商一致。如果不一致可以尝试更换客户端软件(或客户端软件版本)。

可以进行SSH客户端软件有很多:如SecureCRT、Xshell、Mobaxterm等。

6.5抓包查看SSH的报文

抓包可以看出SSH的报文是基于TCP 22 端口封装

SSH 的报文是密文传输,较为安全

捕捉的报文因为SSH进行了加密,都是乱码,无法查看报文信息。

相关推荐
明月看潮生20 分钟前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
龙哥说跨境1 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我1 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023912 小时前
06 网络编程基础
java·网络
海绵波波1073 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
sanzk4 小时前
华为鸿蒙应用开发
华为·harmonyos
热爱跑步的恒川6 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面7 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程9 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
ClkLog-开源埋点用户分析9 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos