zl程序教程

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

当前栏目

玩转华为ENSP模拟器系列 | 通过SFTP访问其他设备(DSA)

设备华为 系列 通过 访问 玩转 其他 模拟器
2023-09-14 09:09:07 时间

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

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

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


目标

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

组网需求

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

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

配置思路

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

操作步骤

  1. 在服务器端生成本地密钥对
SSH Server:
sysname SSH Server
dsa 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$t#T%R6v4sI$<KeS-aa_^XJT22X{59-!YeY.>S-"t,AD1UB[NK~=$
 local-user client001 service-type ssh
 local-user client001 level 3

创建SSH用户Client002。

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

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

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

client002:
sysname client002
dsa local-key-pair create

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

[~client002] dis dsa local-key-pair public 
========================================================
Time of Key pair created : 2019-10-22 17:02:10
Key name    : client002_Host_DSA
Key modulus : 2048
Key type    : DSA Encryption Key
========================================================
Key code:
30820325
  02820101
    00DEDEBA 5C8244DC B8E69691 7CEFEBC0 B3E6FB60
    BE8B9E36 D3E4EB9C D6EB7FD2 10219AC0 F41AD47B
    F1EACD43 5D39AFA8 FACB6A78 19305EE1 47E42891
    2E60452B 37CA17D6 11C2EE4C 46B4BC77 2654C268
    56A99ECF A5D80036 7B31A905 22F13949 6F4182DB
    FDAAB599 739AB021 85856A88 1F919736 8B92DBF6
    849D1C74 6BA27E12 F98A28E4 B6D0587D 655979A7
    505413E9 1EFC961C 3F792096 25CFA8D7 D469FA35
    A39E37B6 14047D53 5DCD63AF 3058B3A2 5B79C714
    B6326B7D B6067EBF 153CC1A7 20B0E1A7 E39C13FE
    B3BA26E6 B052DC5B FFEE7C5C 52148FE6 C240738F
    BB8F05D4 16B2B5DD 72E3629B B59244BF 9FA29C4F
    CD4EA0EE 501FC669 5D03D68D 519324E4 93
  0215
    00C6C484 E1F0076B 8AFCAD30 2B98B50A 3A542ABE
    BB
  02820100
    3AC11746 EE959CBD 30F669C5 7E290BC4 7CB5BBFD
    96AE9215 7A29C723 72FE8A02 EBED3B76 BE810B42
    21AD8D32 F7723F83 59F46B66 FF7805CC 3F86D5D6
    5BD424BD 70677EFF 1ACF9B3C CE02CD40 46560DA4
    2036205C 6EFAB148 66E6A106 0DF6258B EE31CFE7
    4B6C59B4 6FE59A9F BE64F982 EC36A669 FF597FB7
    9A56E32E C15A0659 3D17C407 29F587C7 74959017
    62B08070 24564B2E E79C6E1D 86793548 76CC662A
    1D3DE1D1 2C79E102 C0B10E5C 9C4428B3 AEB93278
    26D4CDE5 189A93EA 531E0FF8 2199EF35 DF038976
    4538434F F39924F0 5BF17AC8 8E340991 B5EA0A62
    A915EE63 F660C092 360C5D2D 796AF230 DB7461F7
    C15B6DBA 65C9EFAB 247DB13D 4942E2FF
  02820101
    00DE5793 C2BB9052 48CD9B8E 5521B617 97CB8B94
    7CB48247 F1EEEBFF 115546FD E2304461 EDEB6A80
    214462D8 C72593C0 89CF70BD 2F426A0C B43B327E
    6673BE75 0C5B5815 58DAD8DF ABD6801C 6215501B
    0E239E73 EC616B22 2E2F6D20 6BEEBEC6 3489E864
    6A6D639A 8A61CFA6 60E2C480 D315AF0E AB87CD64
    731F2612 1B118074 2461F710 ACF9D6AE 6ABD5071
    AD2BFC94 D14006E5 F9B3AC92 8C345B67 ED2A6038
    9A1E770A 6B702DE3 CC1FC401 4F461711 A37552F9
    E5D2A774 21CF921F 6DB2AE65 7021BF7F 7DDA79EF
    C0D5ACD8 E3DF8D8A 62A026F5 2FAF45DD ADAAEED3
    968CEA2E 74878C6F 91380E14 60A7744B 47C62C84
    888EEE8C 1E8F6C58 71D83C66 12ABFAEE 9A
Host public key for PEM format code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1kc3MAAAEBAN7eulyCRNy45paRfO/rwLPm+2C+i5420+TrnNbrf9IQ
IZrA9BrUe/HqzUNdOa+o+stqeBkwXuFH5CiRLmBFKzfKF9YRwu5MRrS8dyZUwmhW
qZ7PpdgANnsxqQUi8TlJb0GC2/2qtZlzmrAhhYVqiB+RlzaLktv2hJ0cdGuifhL5
iijkttBYfWVZeadQVBPpHvyWHD95IJYlz6jX1Gn6NaOeN7YUBH1TXc1jrzBYs6Jb
eccUtjJrfbYGfr8VPMGnILDhp+OcE/6zuibmsFLcW//ufFxSFI/mwkBzj7uPBdQW
srXdcuNim7WSRL+fopxPzU6g7lAfxmldA9aNUZMk5JMAAAAVAMbEhOHwB2uK/K0w
K5i1CjpUKr67AAABADrBF0bulZy9MPZpxX4pC8R8tbv9lq6SFXopxyNy/ooC6+07
dr6BC0IhrY0y93I/g1n0a2b/eAXMP4bV1lvUJL1wZ37/Gs+bPM4CzUBGVg2kIDYg
XG76sUhm5qEGDfYli+4xz+dLbFm0b+Wan75k+YLsNqZp/1l/t5pW4y7BWgZZPRfE
Byn1h8d0lZAXYrCAcCRWSy7nnG4dhnk1SHbMZiodPeHRLHnhAsCxDlycRCizrrky
eCbUzeUYmpPqUx4P+CGZ7zXfA4l2RThDT/OZJPBb8XrIjjQJkbXqCmKpFe5j9mDA
kjYMXS15avIw23Rh98Fbbbplye+rJH2xPUlC4v8AAAEBAN5Xk8K7kFJIzZuOVSG2
F5fLi5R8tIJH8e7r/xFVRv3iMERh7etqgCFEYtjHJZPAic9wvS9Cagy0OzJ+ZnO+
dQxbWBVY2tjfq9aAHGIVUBsOI55z7GFrIi4vbSBr7r7GNInoZGptY5qKYc+mYOLE
gNMVrw6rh81kcx8mEhsRgHQkYfcQrPnWrmq9UHGtK/yU0UAG5fmzrJKMNFtn7Spg
OJoedwprcC3jzB/EAU9GFxGjdVL55dKndCHPkh9tsq5lcCG/f33aee/A1azY49+N

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

SSH Server:
dsa peer-public-key dsakey001 encoding-type der
 public-key-code begin
 30820325
  02820101
    00DEDEBA 5C8244DC B8E69691 7CEFEBC0 B3E6FB60 BE8B9E36 D3E4EB9C D6EB7FD2
    10219AC0 F41AD47B F1EACD43 5D39AFA8 FACB6A78 19305EE1 47E42891 2E60452B
    37CA17D6 11C2EE4C 46B4BC77 2654C268 56A99ECF A5D80036 7B31A905 22F13949
    6F4182DB FDAAB599 739AB021 85856A88 1F919736 8B92DBF6 849D1C74 6BA27E12
    F98A28E4 B6D0587D 655979A7 505413E9 1EFC961C 3F792096 25CFA8D7 D469FA35
    A39E37B6 14047D53 5DCD63AF 3058B3A2 5B79C714 B6326B7D B6067EBF 153CC1A7
    20B0E1A7 E39C13FE B3BA26E6 B052DC5B FFEE7C5C 52148FE6 C240738F BB8F05D4
    16B2B5DD 72E3629B B59244BF 9FA29C4F CD4EA0EE 501FC669 5D03D68D 519324E4
    93
  0215
    00C6C484 E1F0076B 8AFCAD30 2B98B50A 3A542ABE BB
  02820100
    3AC11746 EE959CBD 30F669C5 7E290BC4 7CB5BBFD 96AE9215 7A29C723 72FE8A02
    EBED3B76 BE810B42 21AD8D32 F7723F83 59F46B66 FF7805CC 3F86D5D6 5BD424BD
    70677EFF 1ACF9B3C CE02CD40 46560DA4 2036205C 6EFAB148 66E6A106 0DF6258B
    EE31CFE7 4B6C59B4 6FE59A9F BE64F982 EC36A669 FF597FB7 9A56E32E C15A0659
    3D17C407 29F587C7 74959017 62B08070 24564B2E E79C6E1D 86793548 76CC662A
    1D3DE1D1 2C79E102 C0B10E5C 9C4428B3 AEB93278 26D4CDE5 189A93EA 531E0FF8
    2199EF35 DF038976 4538434F F39924F0 5BF17AC8 8E340991 B5EA0A62 A915EE63
    F660C092 360C5D2D 796AF230 DB7461F7 C15B6DBA 65C9EFAB 247DB13D 4942E2FF
  02820101
    00DE5793 C2BB9052 48CD9B8E 5521B617 97CB8B94 7CB48247 F1EEEBFF 115546FD
    E2304461 EDEB6A80 214462D8 C72593C0 89CF70BD 2F426A0C B43B327E 6673BE75
    0C5B5815 58DAD8DF ABD6801C 6215501B 0E239E73 EC616B22 2E2F6D20 6BEEBEC6
    3489E864 6A6D639A 8A61CFA6 60E2C480 D315AF0E AB87CD64 731F2612 1B118074
    2461F710 ACF9D6AE 6ABD5071 AD2BFC94 D14006E5 F9B3AC92 8C345B67 ED2A6038
    9A1E770A 6B702DE3 CC1FC401 4F461711 A37552F9 E5D2A774 21CF921F 6DB2AE65
    7021BF7F 7DDA79EF C0D5ACD8 E3DF8D8A 62A026F5 2FAF45DD ADAAEED3 968CEA2E
    74878C6F 91380E14 60A7744B 47C62C84 888EEE8C 1E8F6C58 71D83C66 12ABFAEE
    9A
 public-key-code end
 peer-public-key end
  1. 为SSH用户Client002绑定SSH客户端的DSA公钥。
ssh user client002 assign dsa-key dsakey001
  1. SSH服务器端SFTP服务使能

使能SFTP服务功能

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

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

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用DSA认证方式连接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:05:12
Total Packet Number                     : 20
Packet Number after Rekey               : 20
Total Data(MB)                          : 0
Data after Rekey(MB)                    : 0
Time after Session Established(Minute)  : 5
Time after Rekey(Minute)                : 5
--------------------------------------------------------------------------------
[~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   : dsa
User-public-key-name  : dsakey001
User-public-key-type  : -
Sftp-directory        : cfcard:
Service-type          : sftp
--------------------------------------------------------------------------------
Total 2, 2 printed
<SSH Server>