zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

玩转华为ENSP模拟器系列 | 通过SFTP访问其他设备(RSA认证方式)

设备认证华为 系列 方式 通过 访问 玩转
2023-09-14 09:09:06 时间

素材来源:华为路由器配置指南

一边学习一边整理试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:玩转华为ENSP模拟器系列 | 合集_COCOgsta的博客-CSDN博客_华为模拟器实验


目标

在本示例中,通过在SFTP客户端和SSH服务器端生成本地密钥对,在SSH服务器端生成RSA公钥、并为用户绑定该RSA公钥,实现SFTP客户端连接SSH服务器。

组网需求

SFTP建立在SSH连接的基础之上,远程用户可以安全地登录设备,进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。同时,由于设备提供了SFTP客户端功能,可以从本设备安全登录到远程SSH服务器上,进行文件的安全传输。

如图1所示,SSH服务器端SFTP服务使能后,SFTP客户端可以通过Password、RSA、password-rsa、ECC、password-ecc、all认证的方式登录到SSH服务器端进行文件的访问。

配置思路

  • 在SSH服务器上配置用户client001和client002,分别使用不同的认证方式登录SSH服务器。
  • 分别在STelnet客户端Client002和SSH服务器端生成本地密钥对,并为用户client002绑定SSH客户端的RSA公钥,实现客户端登录服务器端时,对客户端进行验证。
  • SSH服务器端SFTP服务使能。
  • 配置SSH用户的服务方式和授权目录。
  • 用户client001和client002分别以SFTP方式登录SSH服务器,实现访问服务器上的文件。

操作步骤

  1. 在服务器端生成本地密钥对
SSH Server:
sysname SSH Server
rsa local-key-pair create
  1. 在服务器端创建SSH用户

配置VTY用户界面。

SSH Server:
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound ssh

创建SSH用户Client001。

新建用户名为Client001的SSH用户,且认证方式为password。

SSH Server:
ssh user client001
ssh user client001 authentication-type password

为SSH用户Client001配置密码为Hello-huawei123。

SSH Server:
aaa
 local-user client001 password irreversible-cipher $1c$1g~N!$>ER)$+}DA(+C_KJJ})w%#KP~*vT>',hY*qR'<ML8es.cA$
 local-user client001 service-type ssh
 local-user client001 level 3

创建SSH用户Client002。

新建用户名为Client002的SSH用户,且认证方式为RSA。

SSH Server:
ssh user client002
ssh user client002 authentication-type rsa
ssh authorization-type default root
  1. 配置服务器端RSA公钥

客户端生成客户端的本地密钥对

client002:
sysname client002
rsa local-key-pair create

查看客户端上生成RSA公钥。

[~client002]dis rsa local-key-pair public 
======================Host Key==========================
Time of Key pair created : 2019-10-22 12:11:27
Key Name : client002_Host
Key Type : RSA Encryption Key
========================================================
Key Code:
3082010A
  02820101
    00EC0146 11B8A90A 368C02A9 3068C585 B1BD26A9
    93DDE774 96C7C5E1 ED509ADC 0CCCEED6 C17FC74A
    6F74735F 477C4001 5409EED4 06121E85 A3FF1497
    D180AD2C 9AE09BEF DEE01F25 85338E75 68121989
    C723254F DF9E09B5 9238A776 492300C2 8AF3958A
    CB5C5952 C167D867 3A6B3214 8E284CDD D743FEE6
    CB78E467 7CD1B3FB D8A60234 6B4DD991 79FCA378
    23F61EE1 EE5F35BC 3C007A6B ABDF4B4B 96F6DE48
    AEF1CA5F C5DEFE00 2EF303B3 755E115F B67A4A27
    F88A6C8C 3ECB2621 CD9CF63D C2C5A045 E263C859
    7FECFF2B 991C8260 935AE51A 46AFDFCC 2F165E5A
    5C5B1B9C CCD23DD4 67E39C48 AF1C1843 15E9474D
    3D25210B 795CE32A 67BCE88F 45E3A7B1 51
  0203
    010001
                
Host public key for PEM format code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQDsAUYRuKkKNowCqTBoxYWxvSapk93ndJbH
xeHtUJrcDMzu1sF/x0pvdHNfR3xAAVQJ7tQGEh6Fo/8Ul9GArSya4Jvv3uAfJYUz
jnVoEhmJxyMlT9+eCbWSOKd2SSMAworzlYrLXFlSwWfYZzprMhSOKEzd10P+5st4
5Gd80bP72KYCNGtN2ZF5/KN4I/Ye4e5fNbw8AHprq99LS5b23kiu8cpfxd7+AC7z
A7N1XhFftnpKJ/iKbIw+yyYhzZz2PcLFoEXiY8hZf+z/K5kcgmCTWuUaRq/fzC8W
XlpcWxuczNI91GfjnEivHBhDFelHTT0lIQt5XOMqZ7zoj0Xjp7FR
---- END SSH2 PUBLIC KEY ----
Public key code for pasting into OpenSSH authorized_keys file:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsAUYRuKkKNowCqTBoxYWxvSapk93ndJbHxeHtUJrcDMzu1sF/x0pvdHNfR3xAAVQJ7tQGEh6Fo/8Ul9GArSya4Jvv3uAfJYUzjnVoEhmJxyMlT9+eCbWSOKd2SSMAworzlYrLXFlSwWfYZzprMhSOKEzd10P+5st45Gd80bP72KYCNGtN2ZF5/KN4I/Ye4e5fNbw8AHprq99LS5b23kiu8cpfxd7+AC7zA7N1XhFftnpKJ/iKbIw+yyYhzZz2PcLFoEXiY8hZf+z/K5kcgmCTWuUaRq/fzC8WXlpcWxuczNI91GfjnEivHBhDFelHTT0lIQt5XOMqZ7zoj0Xjp7FR rsa-key
Host public key for SSH1 format code:
2048 65537 29792868060767485779827244808702423434674130135605035912480713587448325630866303958497230083555525051771034448723583602866823506196947071624164425529181169856098555309880279736546834460728892672119248833918859410171057670252166416801128958458913118935651712726056771725200148183082445823266298270593078642661250173670192205898422310463984842174099647039908703108945726176153481569949060608368805140844200644100577000721952389700823533058874181588692817889258843982274636755428526641490686774898234354459489715102157017465919858215759818725845169085555728356034259779715735617606113354550041784434553085361779917697361
======================Server Key========================
Time of Key pair created : 2019-10-22 12:11:27
Key Name : client002_Server
Key Type : RSA Encryption Key
========================================================
Key Code:
3081B9          
  0281B1
    00B9E17D 5C9A32F8 8FD66A2B 9A2D37FE 3F55894C
    EFC54F83 5B978DD5 6AFE9313 7197F7F3 B3A4D022
    82571F27 B8962E1C 808C1433 9FEC8DC0 C70E936F
    C025CB54 41FE6E8B 60F07D2E BB4F004B 6DD156DE
    B1536C44 7521EB4D 49AEC992 5D72B4B6 3893CEBF
    4E66819D 9C278EDB A9F60904 7F58BF83 D15C903A
    92FC9CEA 25123DF6 6DFB39D6 7958CF3C 7D068EDE
    592D1CD1 A31B4A87 7D8B6B0E ADB4882D 834001B7
    EBFC5F2E CFB5C1FD 9D4010B2 1ED4CC4F 6D
  0203
    010001
[~client002] 

将客户端上产生的RSA公钥传送到服务器端。

SSH Server:
rsa peer-public-key rsakey001
 public-key-code begin
 3082010A
  02820101
    00EC0146 11B8A90A 368C02A9 3068C585 B1BD26A9 93DDE774 96C7C5E1 ED509ADC
    0CCCEED6 C17FC74A 6F74735F 477C4001 5409EED4 06121E85 A3FF1497 D180AD2C
    9AE09BEF DEE01F25 85338E75 68121989 C723254F DF9E09B5 9238A776 492300C2
    8AF3958A CB5C5952 C167D867 3A6B3214 8E284CDD D743FEE6 CB78E467 7CD1B3FB
    D8A60234 6B4DD991 79FCA378 23F61EE1 EE5F35BC 3C007A6B ABDF4B4B 96F6DE48
    AEF1CA5F C5DEFE00 2EF303B3 755E115F B67A4A27 F88A6C8C 3ECB2621 CD9CF63D
    C2C5A045 E263C859 7FECFF2B 991C8260 935AE51A 46AFDFCC 2F165E5A 5C5B1B9C
    CCD23DD4 67E39C48 AF1C1843 15E9474D 3D25210B 795CE32A 67BCE88F 45E3A7B1
    51
  0203
    010001
 public-key-code end
 peer-public-key end
  1. 为SSH用户Client002绑定SSH客户端的RSA公钥。
SSH Server:
ssh user client002 assign rsa-key rsakey001
  1. SSH服务器端SFTP服务使能

使能SFTP服务功能

SSH Server:
sftp server enable
  1. 配置SSH用户的服务方式和授权目录

目前SSH服务器端已配置了两个SSH用户:Client001和Client002,Client001的认证方式是password,Client002的认证方式是RSA。

SSH Server:
ssh user client001 service-type sftp
ssh user client001 sftp-directory cfcard:
ssh user client002 service-type sftp
ssh user client002 sftp-directory cfcard:
  1. SFTP客户端连接SSH服务器

第一次登录,需要使能SSH客户端首次认证功能。

使能客户端Client001首次认证功能。

client001:
sysname client001
ssh client first-time enable

使能客户端Client002首次认证功能

client002:
ssh client first-time enable

SFTP客户端Client001用password认证方式连接SSH服务器。

[~client001]sftp 1.1.1.1
Trying 1.1.1.1 ...
Press CTRL+K to abort
Connected to 1.1.1.1 ...
The server is not authenticated. Continue to access it? [Y/N]:y
Save the server's public key? [Y/N]:y
The server's public key will be saved with the name 1.1.1.1. Please wait...
Please input the username: client001
Enter password: 
sftp-client>

SFTP客户端Client002用RSA认证方式连接SSH服务器。

[~client002]sftp 1.1.1.1
Trying 1.1.1.1 ...
Press CTRL+K to abort
Connected to 1.1.1.1 ...
The server is not authenticated. Continue to access it? [Y/N]:y
Save the server's public key? [Y/N]:y
The server's public key will be saved with the name 1.1.1.1. Please wait...
Please input the username: client002
sftp-client>
  1. 检查配置结果

配置完成后,在SSH服务器端执行display ssh server status命令、display ssh server session命令,可以查看到SFTP服务已经使能,并且SFTP客户端已经成功连接到SSH服务器。

查看SSH状态信息。

[~SSH Server]dis ssh server status
SSH Version                                : 2.0
SSH authentication timeout (Seconds)       : 60
SSH authentication retries (Times)         : 3
SSH server key generating interval (Hours) : 0
SSH version 1.x compatibility              : Disable
SSH server keepalive                       : Enable
SFTP IPv4 server                           : Enable
SFTP IPv6 server                           : Enable
STELNET IPv4 server                        : Disable
STELNET IPv6 server                        : Disable
SNETCONF IPv4 server                       : Disable
SNETCONF IPv6 server                       : Disable
SNETCONF IPv4 server port(830)             : Disable
SNETCONF IPv6 server port(830)             : Disable
SCP IPv4 server                            : Disable
SCP IPv6 server                            : Disable
SSH server DES                             : Disable
SSH IPv4 server port                       : 22
SSH IPv6 server port                       : 22
SSH server source address                  : 0.0.0.0
SSH ipv6 server source address             : 0::0
SSH ipv6 server source vpnName             : 
ACL name                                   : 
ACL number                                 : 
ACL6 name                                  : 
ACL6 number                                : 
SSH server ip-block                        : Enable
[~SSH Server] 

查看SSH服务器的连接信息。

[~SSH Server] dis ssh server session
--------------------------------------------------------------------------------
Session                                 : 1
Conn                                    : SFTP 0
Version                                 : 2.0
State                                   : Started
Username                                : client001
Retry                                   : 1
CTOS Cipher                             : aes256-ctr
STOC Cipher                             : aes256-ctr
CTOS Hmac                               : hmac-sha2-256
STOC Hmac                               : hmac-sha2-256
CTOS Compress                           : none
STOC Compress                           : none
Kex                                     : diffie-hellman-group14-sha1
Public Key                              : ECC
Service Type                            : sftp
Authentication Type                     : password
Connection Port Number                  : 22
Idle Time                               : 00:03:20
Total Packet Number                     : 16
Packet Number after Rekey               : 16
Total Data(MB)                          : 0
Data after Rekey(MB)                    : 0
Time after Session Established(Minute)  : 3
Time after Rekey(Minute)                : 3
Session                                 : 2
Conn                                    : SFTP 1
Version                                 : 2.0
State                                   : Started
Username                                : client002
Retry                                   : 1
CTOS Cipher                             : aes256-ctr
STOC Cipher                             : aes256-ctr
CTOS Hmac                               : hmac-sha2-256
STOC Hmac                               : hmac-sha2-256
CTOS Compress                           : none
STOC Compress                           : none
Kex                                     : diffie-hellman-group14-sha1
Public Key                              : ECC
Service Type                            : sftp
Authentication Type                     : rsa
Connection Port Number                  : 22
Idle Time                               : 00:02:00
Total Packet Number                     : 16
Packet Number after Rekey               : 16
Total Data(MB)                          : 0
Data after Rekey(MB)                    : 0
Time after Session Established(Minute)  : 2
Time after Rekey(Minute)                : 2
--------------------------------------------------------------------------------
[~SSH Server]

查看SSH用户信息。

[~SSH Server]dis ssh user-information 
--------------------------------------------------------------------------------
User Name             : client001
Authentication-Type   : password
User-public-key-name  : 
User-public-key-type  : -
Sftp-directory        : cfcard:
Service-type          : sftp
User Name             : client002
Authentication-Type   : rsa
User-public-key-name  : rsakey001
User-public-key-type  : -
Sftp-directory        : cfcard:
Service-type          : sftp
--------------------------------------------------------------------------------
Total 2, 2 printed
[~SSH Server]