网络基础-SSH协议(思科、华为、华三)

2024-05-13 22:21

本文主要是介绍网络基础-SSH协议(思科、华为、华三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSH(Secure Shell)是一种用于安全远程访问和安全文件传输的协议。它提供了加密的通信通道,使得用户可以在不安全的网络上安全地远程登录到远程主机,并在远程主机上执行命令、访问文件以及传输文件,本篇主要讲解命令执行功能。SSH协议使用TCP端口号22作为默认端口号;在网络上建立起连接后,用户可以通过 SSH客户端与远程主机进行交互。

SSH(Secure Shell)和Telnet是两种用于远程登录的协议,它们之间有几个重要的区别:
1.SSH提供了加密的通信通道,可以有效地防止数据在传输过程中被窃听或篡改,因此提供了更高的安全性。相比之下,Telnet在传输过程中不对数据进行加密,因此容易受到中间人攻击和窃听,安全性较低。
​
2.SSH提供了多种强大的身份认证机制,包括密码认证、公钥认证、基于证书的认证等。这些认证机制提供了更高的安全性,并且可以减少密码被盗的风险。Telnet通常仅支持基于密码的认证,安全性较低,容易受到密码破解或中间人攻击的影响。
​
3.SSH默认使用TCP端口号22作为通信端口,Telnet默认使用TCP端口号23。

Telnet相关配置

需求:实现R2能够telnet管理R1

这个时候R2为客户端,R1为被管理设备即服务端

思科:
R1服务端配置:

1.检查设备是否支持SSH协议

R1#show ip ssh

有对应回显则表示设备支持SSH协议;接着设置enable密码,与telnet一样,如果没有设置enable密码的,客户端登陆到该设备就只能在用户模式中进行操作。

R1>enable  
R1#configure terminal 
R1(config)#enable secret wolven  //enable密码设置为wolven 

接着,设置域名以及相关的数据加密算法,设置密钥长度;域名的设置与密钥生成相关,且在设置密钥长度是要注意,当密钥长度小于768bit时无法使用SSH版本2;(密钥越长,则通信的效率会低)

配置命令:
R1(config)#ip domain-name wolven.com  //设置域名
R1(config)#crypto key generate rsa  //生成rsa密钥
How many bits in the modulus [512]: 2048   //选择密钥长度
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 1 seconds)

接着需要创建登录账户(用户名+密码),并在配置vty线路启用 vty 线路上的 SSH 协议。

R1(config)#username wolven secret wolven123  //创建wolven账户,密码为wolven123
R1(config)#line vty 0 4 
R1(config-line)#transport input ssh 
R1(config-line)#login local 

至此服务端配置完成。

客户端尝试登录
R2>ssh -l wolven 192.168.8.10
Password: 
R1>

使用ssh命令,跟上-l参数指定登录账户,输入密码后正常登录。

补充:
R1(config)#ip ssh time-out 120     //修改超时时间
R1(config)#ip ssh authentication-retries 1     //修改重认证次数。
R1(config)#ip ssh version 2          //修改版本

华为:
R1服务端设置:

首先打开SSH服务,并生成rsa密钥;

<R1>system-view 
[R1]stelnet server enable 
[R1]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]:512  //选择密钥长度
Generating keys...
..............++++++++++++
.++++++++++++
......................................++++++++
.....++++++++

接着创建本地账户用于客户端进行ssh登录:

[R1]aaa   //进入3a视图
[R1-aaa]local-user wolven password cipher wolven123
Info: Add a new user.
[R1-aaa]local-user wolven service-type ssh 
[R1-aaa]local-user wolven privilege level 15  //设置账户权限 
​
[R1-aaa]quit 
[R1]ssh user wolven authentication-type password   //设置wolven用户在使用ssh登录时使用密码进行身份验证

最后设置vty界面,开启ssh登录,并设置验证方式为aaa。

[R1]user-interface vty 0 4 
[R1-ui-vty0-4]protocol inbound ssh 
[R1-ui-vty0-4]authentication-mode aaa

至此服务端配置完成。

R2客户端尝试连接:
[R2]ssh client first-time enable 

注:第一次登录时,客户端需要开启首次认证功能,本次将不会验证SSH服务器端的RSA公钥;登录后系统将自动分配并保存RSA公钥,在下次登录时验证。

使用stelnet进行连接:

[R2]stelnet 192.168.8.10

华三:

R1服务端配置:

首先开启SSH服务,并生成rsa密钥;

<R1>system-view 
[R1]ssh server enable 
[R1]public-key local create rsa 

接着创建本地账户用于客户端使用ssh进行登录;并配置该用户进行SSH登录时使用密码进行身份验证。

[R1]local-user wolven
[R1-luser-manage-wolven]password simple Hello123456
[R1-luser-manage-wolven]service-type ssh
[R1-luser-manage-wolven]quit 
[R1]ssh user wolven service-type all authentication-type password  //使用密码进行身份验证

最后进入vty视图,配置使用SSH登录,且登录时使用aaa认证进行身份验证:

[R1]user-interface vty 0 4
[R1-line-vty0-4]authentication-mode scheme  //3a认证
[R1-line-vty0-4]protocol inbound ssh

至此服务端配置完成。

R2客户端进行连接尝试
<R2>ssh2 192.168.8.10

输入账户密码后成功登录。

这篇关于网络基础-SSH协议(思科、华为、华三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986992

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re