一。原理简述:
在Telnet登录中缺少安全的认证,其传输过程采用的是TCP进行明文传输,存在较大的安全隐患。而且,单纯的提供Telnet服务易产生主机IP地址欺骗、路由欺骗等恶意攻击。
STelnet是Secure Telnet的简称。它是在一个传统不安全的网络环境下,服务器通过对用户端的认证及双向的数据加密,为网络中端访问提供安全的Telnet服务。注:在跨越互联网的远程登录管理中,建议使用SSH协议。
SSH是一个网络安全协议,其通过对网络数据的加密,使能够在一个不安全的网络环境中,提供安全的远程登录和其他的安全网络服务。SSH是基于TCP协议端口号为22来传输数据,支持Password认证。过程是:用户端向服务器发出Password认证请求,将用户名和密码加密后发送给服务器;而服务器将该信息解密后可以得到用户名和密码的明文形式,再与设备上保存的用户名和密码进行比较,返回认证成功或失败的消息。SSH的特性:可以提供安全的信息保障和强大的认证功能,以确保路由器不受像IP地址欺诈、明文密码截取等攻击,SSH数据加密传输,可以替代Telnet。
SFTP是SSH File Transfer Protocol的简称,在一个传统的不安全的网络环境下,服务器通过对用户端的认证及双向的数据加密,为网络文件传输提供了安全的服务。
实验内容:
R1看作SSH Client,R2作为SSH Server,用来模拟远程用户端R1通过SSH协议远程登录到路由器R2上进行配置,为该实验配置Password认证方式。
实验目的:
1.掌握SSH的应用场景;
2.理解SSH协议的原理;
3.掌握配置SSH Password认证的方法;
4.掌握SFTP的配置
实验拓扑:
实验操作:
1.根据实验要求完成基础配置,使用ping命令检测直连链路的连通性。
2.SSH Sever的配置:成功完成SSH登录的首要操作是配置并产生本地RSA密钥对。在进行其他SSH配置之前要先生成本地密钥对,生成的密钥对将会保存在设备中,重启后不会丢失。使用 rsa local-key-pair create命令生成本地RSA主机密钥对。
[R2]rsa local-key-pair create
The key name will be: Host
% RSA keys defined for Host already exist.
Confirm to replace them? (y/n)[n]:y
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
It will take a few minutes.
Input the bits in the modulus[default = 512]:1024
Generating keys...
............................++++++
...........................................................................+++++
+
.....................................................++++++++
................++++++++
配置完成后,可以使用display rsa local-key-pair public命令来查看本地密钥对中的公钥部分信息。
[R2]dis rsa local-key-pair public
=====================================================
Time of Key pair created: 2019-03-22 08:00:30-08:00 //公钥生成时间
Key name: Host //公钥名称
Key type: RSA encryption Key //公钥类型
=====================================================
Key code:
308188
028180
9D1723EA 22E9E8D6 F1892590 CBFE134E A2D84ADA
......
......
然后进入VTY用户界面,配置验证模式为AAA,指定VTY类型用户界面只支持SSH协议(设备将自动禁止Telnet功能),在AAA界面上使用local-user命令创建本地用户和口令,并以加密方式显示用户口令,在配置本地用户名的接入类型为SSH,使用ssh user命令新建SSH用户,指定用户的认证方式为Password。
[R2]user-interface vty 0 4 //进入VTY用户界面
[R2-ui-vty0-4]authentication-mode aaa //配置认证方式为AAA
[R2-ui-vty0-4]protocol inbound ssh //指定VTY类型用户只支持SSH协议(将自动禁止Telnet)
[R2-ui-vty0-4]aaa
[R2-aaa]local-user admin password cipher huawei
[R2-aaa]local-user admin service-type ssh //配置接入类型为SSH
[R2-aaa]q
[R2]ssh user admin authentication-type password //指定SSH用户的认证方式为密码认证
Authentication type setted, and will be in effect next time
还可以继续使用local-user *** privilege level命令配置本地用户的优先级,取值范围是0~15,其取值越大,优先级就越高。而且,只能行使等于或低于自己优先级别的命令。
默认情况下,设备的SSH服务器功能是关闭的,使用 stelnet server enable命令开启,只有在开启的状态下,用户端才能用SSH方式与设备连接。
[R2]stelnet server enable
Info: Succeeded in starting the STELNET server.
配置完成后,可以使用display ssh user-information ***命令在SSH服务器端查看SSH用户的配置信息。在不指定具体用户时,查看到的是所有的SSH用户的配置信息。使用display ssh server status命令,查看SSH服务器的全局配置信息。
[R2]dis ssh user-information admin
-------------------------------------------------------------------------------
Username Auth-type User-public-key-name
-------------------------------------------------------------------------------
admin password null
-------------------------------------------------------------------------------
[R2]dis ssh server status
SSH version :1.99
SSH connection timeout :60 seconds
SSH server key generating interval :0 hours
SSH Authentication retries :3 times
SFTP Server :Disable
Stelnet server :Enable //处于启动状态
3.SSH Client配置
开启SSH用户端首次认证功能,即不对SSH的RSA公钥进行有效性检查。登录后,系统将自动分配并保存RSA公钥,以便下次登陆使用。否则,第一次登陆服务器,用户端还未保存RSA公钥,会是服务器的RSA公钥的有效性检查失败,进而登陆失败。
登陆成功后,可使用display shh server session命令查看SSH服务器端当前会话连接的信息。
[R1]ssh client first-time enable
[R1]stelnet 10.1.1.2
Please input the username:admin
Trying 10.1.1.2 ...
Press CTRL+K to abort
Connected to 10.1.1.2 ...
The server is not authenticated. Continue to access it? (y/n)[n]:y
[R1]
Save the server's public key? (y/n)[n]:y
The server's public key will be saved with the name 10.1.1.2. Please wait...
[R1]
Enter password:
sys
[R2]dis ssh server session //查看当前会话信息
--------------------------------------------------------------------
Conn Ver Encry State Auth-type Username
--------------------------------------------------------------------
VTY 0 2.0 AES run password admin //已成功连接,可进行需要的配置
--------------------------------------------------------------------
4.SFTP Sever配置
进入AAA视图下,创建一个新用户,并配置密文密码;配置用户接入类型为SSH,配置优先级为3。然后指定FTP用户的可访问目录。默认为空,不配置的话,将不能登录。使用ssh user创建新SSH用户,指定认证方式为密码认证。再使用sftp server enable命令开启SFTP服务器功能。
配置完成后,查看SSH服务器的配置信息,再在R1上使用sftp命令连接SSH服务器,最后在R2上查看SSH会话连接的信息。
[R2]aaa
[R2-aaa]local-user huawei1 password cipher huawei2 //新建用户
Info: Add a new user.
[R2-aaa]local-user huawei1 service-type ssh //设置连接类型
[R2-aaa]local-user huawei1 privilege level 3
[R2-aaa]local-user huawei1 ftp-directory flash: //指定可访问目录
[R2]ssh user huawei1 authentication-type password //配置认证方式
Authentication type setted, and will be in effect next time
[R2]sftp server enable //开启SFTP功能
Info: Succeeded in starting the SFTP server.
[R2]dis ssh server status
SSH version :1.99
SSH connection timeout :60 seconds
SSH server key generating interval :0 hours
SSH Authentication retries :3 times
SFTP Server :Enable //已处于开启状态
Stelnet server :Enable
[R1]sftp 10.1.1.2
Please input the username:huawei1
Trying 10.1.1.2 ...
Press CTRL+K to abort
Enter password:
sftp-client> //连接成功
最后,在R2上查看SSH会话连接信息:
[R2]dis ssh server session
--------------------------------------------------------------------
Conn Ver Encry State Auth-type Username
--------------------------------------------------------------------
VTY 0 2.0 AES run password huawei1 //已成功连接
--------------------------------------------------------------------