前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >H3C路由交换 SSH配置

H3C路由交换 SSH配置

作者头像
张旭博客
发布2022-12-27 15:40:49
9360
发布2022-12-27 15:40:49
举报
文章被收录于专栏:zxbkzxbk

SSH概述

SSH(Secure Shell)是一种安全的远程登录协议。基于TCP进行传输,端口号是22。

SSH协议的特点:

  • 完善的数据传输机密性:支持DES、3DES数据加密算法。
  • 多种认证方式:支持公钥验证方式、密码验证方式、不验证方式。
  • 所支持的RSA认证具有攻击防御功能:支持RSA认证、具有防篡改功能。

在整个工作过程中,为实现SSH的安全连接,服务器端与客户端要经历如下五个阶段:

  1. 版本号协商阶段
  2. 密钥和算法协商阶段
  3. 认证阶段
  4. 会话请求阶段
  5. 交互会话阶段

配置SSH

在系统视图下配置生成 DSA、ECDSA或RSA密钥,在某些早期软件版本中仅支持RSA公钥算法:

代码语言:javascript
复制
[SWA]public-key local create rsa 

SSH服务缺省处于关闭状态,在系统视图下使能 SSH 服务:

代码语言:javascript
复制
[SWA]ssh server enable 

SSH客户端通过VTY用户界面访问设备,因此需要配置SSH客户端登录时采用的VTY用户界面,使其支持SSH远程登录协议。配置客户端下次请求登录时生效。

在VTY界面视图下配置登录用户界面的认证方式为scheme方式:

代码语言:javascript
复制
[SWA]user-interface vty 0 4     #进入VTY视图
[SWA-line-vty0-4]authentication-mode scheme   #配置登录用户界面的认证方式为scheme方式

在VTY界面视图下配置所在用户界面支持SSH协议:

代码语言:javascript
复制
[SWA-line-vty0-4]protocol inbound ssh 

缺省情况下,系统支持所有协议。

SSH用户具有两种服务类型:Stelnet和SFTP。Stelnet即Secure Telnet,是指传统的SSH服务;SFTP即 Secure FTP。

如果要使用传统的SSH服务,需要在系统视图下配置SSH用户为Stelnet服务类型并指定认证方式:

代码语言:javascript
复制
[SWA]ssh user [username] service-type stelnet authentication-type { password | {any | password-publickey | publickey} assign {pki-domain [domain-name] | publickey [keyname]}}
  • username:SSH用户名,为1~80个字符的字符串;
  • stelnet:服务类型为安全的telnet;
  • authentication-type:SSH用户的认证方式。
    • password:强制指定该用户的认证方式为password
    • any:指定该用户的认证方式可以是password,也可以是publickey。
    • password-publickey:强制指定该用户的认证方式为password和publickey认证同时满足。客户端版本为SSH1的用户只要通过其中一种认证方式即可登录;客户端版本为SSH2的用户必须两种认证都通过才能登录。
    • publickey:强制指定该用户的认证方式为publickey。

SSH用户采用publickey认证方式时,需要在服务器端配置客户端的DSA、ECDSA或RSA主机公钥,并在客户端为该SSH用户指定与主机公钥对应的DSA、ECDSA或RSA私钥,以便当客户端登录服务器时,对客户端进行验证。

可以通过从公钥文件中导入和手工配置两种方式来在服务器端配置客户端的公钥。

SSH配置——密码认证

SWA是SSH服务器,SWB是SSH客户端。SSH用户采用的认证方式为password。

在SWA上配置生成RSA密钥对,并启动SSH服务器。

代码语言:javascript
复制
[SWA]public-key local create rsa 
[SWA]ssh server enable 

设置SSH客户端登录用户界面的认证方式为AAA认证,并设置SWA上远程用户登录协议为SSH。

代码语言:javascript
复制
[SWA]user-interface  vty 0 4
[SWA-line-vty0-4]authentication-mode scheme 
[SWA-line-vty0-4]protocol inbound ssh 

创建本地用户 famo ,并设置用户角色为network-admin;配置SSH用户famo的服务类型为Stelnet,认证方式为password认证。

代码语言:javascript
复制
[SWA]public-key local create rsa 
[SWA]ssh server enable 
[SWA]user-interface  vty 0 4
[SWA-line-vty0-4]authentication-mode scheme 
[SWA-line-vty0-4]protocol inbound ssh 
[SWA]local-user famo
[SWA-luser-manage-famo]password simple zx123456
[SWA-luser-manage-famo]service-type ssh 
[SWA-luser-manage-famo]authorization-attribute user-role network-admin 
[SWA]ssh user famo service-type stelnet authentication-type password

SSH配置——公钥认证

配置生成RSA密钥对,并启动SSH服务;设置SSH客户端登录界面认证方式为AAA认证,并设置SWA上远程登录用户协议为SSH,并配置用户角色为network-admin。

代码语言:javascript
复制
[SWA]public-key local create rsa 
[SWA]ssh server enable 
[SWA]user-interface vty 0 4
[SWA-line-vty0-4]authentication-mode scheme 
[SWA-line-vty0-4]protocol inbound ssh

在SSH客户端SWB上生成RSA密钥对,并将生成的RSA主机公钥导入到指定文件key.pub中。

代码语言:javascript
复制
[SWB]public-key local create rsa 
[SWB]public-key local export rsa ssh2 key.pub

客户端生成密钥对后,需要将保存的公钥文件key.pub通过FTP/TFTP方式上传到SSH服务器SWA上

代码语言:javascript
复制
[SWA]public-key peer SWB import sshkey key.pub

[SWA]local-user client 
[SWA-luser-manage-client]service-type ssh 
[SWA-luser-manage-client]authorization-attribute user-role network-admin 

[SWA]ssh user client service-type stelnet authentication-type publickey assign p
ublickey SWB

FTP和SFTP协议相比,FTP提供了必要的可靠性,然而对于一些要求网络安全级别比较高,需要严格防范传输数据被监听的情况来说,FTP就无法胜任了。 SFTP(SSH File Transfer Protocol 或 Secure File Transfer Protocol)是SSH2.0中支持的功能。和SFTP传输协议默认采用加密方式来传输数据。SFTP建立在SSH连接的基础之上,他使得远程用户可以安全地登录设备,进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。同时,由于设备支持作为客户端的功能,用户可以从本地设备安全登录到远程设备上,进行文件的安全传输。

FTP配置

代码语言:javascript
复制
ftp server enable
local-user [user]
password simple [passwd]
service-type [ftp]
authorization-attribute user-role network-admin

SFTP配置示例

SWA是SFTP服务器,SWB是SFTP客户端。

与SSH配置一样,需要在SWA上配置生成RSA密钥对,并启动SSH服务器。与此同时,为了提供SFTP服务,还需在SWA上启动SFTP服务器。

代码语言:javascript
复制
[SWA]public-key local create rsa 
[SWA]ssh server enable 
[SWA]sftp server enable 

设置SFTP客户端登录用户界面的认证方式为AAA认证,并设置SWA上远程用户登录协议为SSH。

代码语言:javascript
复制
[SWA]user-interface vty 0 4
[SWA-line-vty0-4]authentication-mode scheme 
[SWA-line-vty0-4]protocol inbound ssh 

因为使用公钥认证,需要在SSH客户端SWB上生成RSA密钥对,并将生成的RSA主机公钥导出到指定文件key.pub中。

代码语言:javascript
复制
[SWB]public-key local create rsa 
[SWB]public-key local export rsa ssh2 key.pub

客户端生成密钥对后,需要将保存的公钥key.pub通过FTP/SFTP方式上传到SSH服务器SWA上。

代码语言:javascript
复制
[SWA]public-key peer SWB import sshkey key.pub

设置SFTP用户client服务类型为SFTP,认证方式为publickey,并指定公钥为SWB,工作目录为flash:/。

代码语言:javascript
复制
[SWA]local-user client class manage 
[SWA-luser-manage-client]service-type ssh 
[SWA-luser-manage-client]authorization-attribute user-role network-admin work-directory flash:/
[SWA]ssh user client service-type sftp authentication-type publickey assign publickey SWB

在SWB上建立到服务器的SFTP连接,并指明用户client登录:

代码语言:javascript
复制
sftp 10.0.0.1 identity-key rsa 
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SSH概述
  • 配置SSH
  • SSH配置——密码认证
  • SSH配置——公钥认证
  • FTP配置
  • SFTP配置示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档