网络基础-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

相关文章

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

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义