热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

远程安全协议SSH:保障远程连接的数据传输安全

在网络工程师的日常网络维护、排错等过程中,通常都会通过远程的方式来登录到交换机或者路由器进行相关配置检验、排错等。那么通常会有两种远程登录方式,Teln

在网络工程师的日常网络维护、排错等过程中,通常都会通过远程的方式来登录到交换机或者路由器进行相关配置检验、排错等。那么通常会有两种远程登录方式,Telnet和SSH。那么他们之间是有怎样的区别,我们应该使用那种远程方式会更安全一些呢?下面我们就来讲讲这两种远程方式。
Telnet和SSH的对比:
在这里插入图片描述

很明显两种远程方式除了使用的端口号不一致外,我们可以看到Telnet这种远程方式是不加密的、不安全的,也就是说服务端与客户端的数据交互是明文进行的。
下面我们就来看一下,Telnet这种方式是怎样在Cisco设备上配置的,以及是否可以被抓包破解数据。
这里我们实验环境是GNS3,使用两台路由器模拟,端口IP地址配置就不详述了。
在这里插入图片描述

Telnet
在R1上:
R1(config)#username cisco privilege 15 password cisco123 – 创建本地用户名和密码用户名cisco密码cisco123用户等级15
R1(config)#line vty 0 4 — 配置0到4的远程会话
R1(config-line)#login local — 使用本地用户验证登录
R1(config-line)#session-timeout 15 — 15分钟无操作关闭会话
R1(config-line)#transport input telnet — 接收Telnet连接会话
这样R1的Telnet的配置就完成了,下面我们从R2上进行Telnet测试。
在这里插入图片描述

可以看到Telnet已经成功登录,那么之前说过Telnet是不加密的交互,我们抓包看一下会得到什么。
在这里插入图片描述

很明显我们抓包后,跟踪TCP的Stream。发现了登录R1的用户名和密码,所以可以看出Telnet这种远程方式是非常不安全的。接下来我们在看一下SSH这种远程方式,先来看一下SSH是怎样工作的。

SSH:SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题—摘自百度百科。

SSH的数据交互是安全的、加密的,这个加密的过程是需要使用到密钥的。因此我们必须在SSH服务端,创建相应的密钥才可进行安全的数据交互传输。
下面就看一下在Cisco设备上是怎样配置SSH的远程登录,并抓包看一下是否可以看到交互数据。
我们还是延用之前那两台路由器,重新配置R1.

1.配置IP domian-name, 因为rsa的秘钥是用hostname和domain name产生的
R1(config)#ip domain-name cisco
2.配置生成密钥,如果启用SSH v2版本,那么至少要768bits以上的RSA Key size才可以,这里用2048.
R1(config)#crypto key generate rsa
The name for the keys will be: R1.cisco
Choose the size of the key modulus in the range of 360 to 4096 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable…
[OK] (elapsed time was 0 seconds)
*Feb 18 15:09:51.272: %SSH-5-ENABLED: SSH 1.99 has been enabled
3.配置本地用户名密码
R1(config)#username cisco privilege 15 password cisco123
4.配置仅使用SSH方式登录
R1(config)#line vty 0 4
R1(config-line)#transport input ssh
5.配置SSH登录超时120秒
R1(config)#ip ssh time-out 120
6.配置SSH登录尝试次数3次
R1(config)#ip ssh authentication-retries 3
7.启用SSH 版本2
R1(config)#ip ssh version 2
至此,关于R1的SSH登录就差不多了。我们从R2上SSH登录R1看一下效果。
在这里插入图片描述

成功登录,我们在抓包看一下数据交互过程是否可以抓到信息。
在这里插入图片描述

可以看到SSH远程登录的过程是完全加密的,可靠的数据传输,抓包的数据都是不可读取的。

综上,在网络运维过程中,为了更安全的数据传输,我们应该使用SSH远程方式来进行网络设备的配置,排错。Telnet方式慎用。


推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • Kafka入门指南
    本文将详细介绍如何在CentOS 7上安装和配置Kafka,包括必要的环境准备、JDK和Zookeeper的配置步骤。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 解决Win10 1709版本文件共享安全警告问题
    每当Windows 10发布新版本时,由于兼容性问题往往会出现各种故障。近期,一些用户在升级至1709版本后遇到了无法访问共享文件夹的问题,系统提示‘文件共享不安全,无法连接’。本文将提供多种解决方案,帮助您轻松解决这一难题。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 网络安全实验:Telnet与SSH服务对比及抓包分析
    本实验旨在对比Telnet和SSH两种安全通信协议的服务差异,并通过搭建服务器和使用Wireshark抓包工具进行详细分析。 ... [详细]
  • Spring Boot与Graylog集成实现微服务日志聚合与分析
    本文介绍了如何在Graylog中配置输入源,并详细说明了Spring Boot项目中集成Graylog的日志聚合和分析方法,包括logback.xml的多环境配置。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
  • 本文探讨了如何通过多种方法增强 Windows 远程服务的安全性,有效防范暴力破解攻击。 ... [详细]
author-avatar
mobiledu2502909113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有