玩转华为ENSP模拟器系列 | 配置公网SSH访问私网SSH的举例

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转华为ENSP模拟器系列 | 配置公网SSH访问私网SSH的举例相关的知识,希望对你有一定的参考价值。

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

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

附上汇总贴:COCOgsta的博客_CSDN博客-视频学习笔记,实验笔记,翻译领域博主


目标

配置公网SSH客户端访问私网SSH服务器的示例。在本示例中,通过配置公网用户的SSH相关属性信息,实现公网用户分别以STelnet方式和SFTP方式访问私网设备。

组网需求

如图1所示,作为SSH客户端的设备PE1位于MPLS骨干网中,作为SSH服务器的CE1位于AS号为65410的私网中。公网用户可以通过PE1安全地访问和管理私网设备CE1。

配置思路

  • 在作为SSH客户端的PE设备上配置VPN实例,实现将CE接入PE。
  • 在PE与CE之间建立EBGP对等体关系,引入VPN路由。
  • 分别在STelnet客户端Client002和SSH服务器端生成本地密钥对,并为用户client002绑定SSH客户端的RSA公钥,实现客户端登录服务器端时,对客户端进行验证。
  • SSH服务器端STelnet和SFTP服务使能。
  • 公网用户client001、client002分别以STelnet方式和SFTP方式访问私网设备。

操作步骤

  1. 配置MPLS骨干网

配置MPLS骨干网上配置IGP协议,实现骨干网PE和P的互通。在MPLS骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP。(略)

  1. 在PE上配置VPN实例,将CE接入PE

配置PE1

PE1:
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 100:1
  vpn-target 111:1 export-extcommunity
  vpn-target 111:1 import-extcommunity
interface Ethernet1/0/0
 undo shutdown
 ip binding vpn-instance vpn1
 ip address 10.1.1.2 255.255.255.0

配置PE2

PE2:
ip vpn-instance vpn1
 ipv4-family
  route-distinguisher 200:1
  vpn-target 111:1 export-extcommunity
  vpn-target 111:1 import-extcommunity
interface Ethernet1/0/1
 undo shutdown
 ip binding vpn-instance vpn1
 ip address 10.1.2.2 255.255.255.0
  1. 配置各CE的接口IP地址(略)

配置完成后,在PE上执行display ip vpn-instance verbose命令可以看到VPN实例的配置情况。各PE能ping通自己接入的CE。

ping -vpn-instance vpn1 10.1.1.1

[~PE1]ping -vpn-instance vpn1 10.1.1.1
  PING 10.1.1.1: 56  data bytes, press CTRL_C to break
    Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=5 ms
    Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=4 ms
    Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=4 ms
    Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=4 ms
    Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=4 ms
  --- 10.1.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 4/4/5 ms
 
[~PE1]

说明:当PE上有多个绑定了同一个VPN的接口,则使用ping -vpn-instance命令ping对端PE接入的CE时,要指定源IP地址,即要指定ping -vpn-instance vpn-instance-name -a source-ip-address dest-ip-address命令中的参数-asource-ip-address,否则可能ping不通。

  1. 在PE与CE之间建立EBGP对等体关系,引入VPN路由

配置CE1

CE1:
bgp 65410
 peer 10.1.1.2 as-number 100
 ipv4-family unicast
  import-route direct

配置PE1

PE1:
bgp 100
 ipv4-family vpn-instance vpn1
  import-route direct
  peer 10.1.1.1 as-number 65410

配置CE2

CE2:
bgp 65420
 peer 10.1.2.2 as-number 100
 ipv4-family unicast
  import-route direct

配置PE2

PE2:
bgp 100
 ipv4-family vpn-instance vpn1
  import-route direct
  peer 10.1.2.1 as-number 65420

配置完成后,在PE上执行display bgp vpnv4 vpn-instance peer命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。

[~PE1-bgp]dis bgp vpnv4 vpn-instance vpn1 peer 
 
 BGP local router ID : 100.1.1.1
 Local AS number : 100
 VPN-Instance vpn1, Router ID 100.1.1.1:
 Total number of peers : 1                 Peers in established state : 1
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State  Pr
efRcv
  10.1.1.1        4       65410        7        8     0 00:03:43 Established    
    1
[~PE1-bgp]

在PE之间建立MP-IBGP对等体关系(略)

  1. 在服务器端生成本地密钥对
CE1:
rsa local-key-pair create
  1. 配置服务器端RSA公钥

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

PE1:
rsa local-key-pair create

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

[~PE1]dis rsa local-key-pair public 
======================Host Key==========================
Time of Key pair created : 2019-10-23 16:51:31
Key Name : PE1_Host
Key Type : RSA Encryption Key
========================================================
Key Code:
3082010A
  02820101
    00BBB185 2EAC019C 8FE60F4D C304E34A 95900D2D
    E813A2E0 31D7A6B8 3F1E1502 1F4EFA5D 58458EF0
    A2C48A2C 1368F0B4 FE67533E 306E2AD2 75331449
    A1AAAF85 3A6C40C4 55B973A1 7665109F A355C0D2
    8D76292D 55D9F52F 63E0A27C 085FEF3F 123BA68A
    CCE823E6 D781560F 257BAF9E 65F74613 806B8632
    795FEEC4 B5EAB942 AE95E8C8 429F6650 E52CF32D
    44B62622 DE85C9FA 788C7713 BDC7B1AE 61ADFFF6
    C1824E00 C5893A48 77092FB8 1E0B575C 60418681
    A6393A07 CCE9DE49 432DCDAC 58B5D17D 34AE56FD
    CCDA9637 01A2C96F A7A31308 8B5954A8 45703E42
    9D7F1DDC 79E2EDF8 57D5ED64 47E69C09 BF7CB5B5
    2A51CC1B A37D8E03 867699A1 707AC3F5 CD
  0203
    010001
Host public key for PEM format code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQC7sYUurAGcj+YPTcME40qVkA0t6BOi4DHX
prg/HhUCH076XVhFjvCixiosE2jwtP5nUz4wbirSdTMUSaGqr4U6bEDEVblzoXZl
EJ+jVcDSjXYpLVXZ9S9j4KJ8CF/vPxI7porM6CPm14FWDyV7r55l90YTgGuGMnlf
7sS16rlCrpXoyEKfZlDlLPMtRLYmIt6Fyfp4jHcTvcexrmGt//bBgk4AxYk6SHcJ
L7geC1dcYEGGgaY5OgfM6d5JQy3NrFi10X00rlb9zNqWNwGiyW+noxMIi1lUqEVw
PkKdfx3ceeLt+FfV7WRH5pwJv3y1tSpRzBujfY4DhnaZoXB6w/XN
---- END SSH2 PUBLIC KEY ----
Public key code for pasting into OpenSSH authorized_keys file:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7sYUurAGcj+YPTcME40qVkA0t6BOi4DHXprg/HhUC
H076XVhFjvCixIosE2jwtP5nUz4wbirSdTMUSaGqr4U6bEDEVblzoXZlEJ+jVcDSjXYpLVXZ9S9j4KJ8
CF/vPxI7porM6CPm14FWDyV7r55l90YTgGuGMnlf7sS16rlCrpXoyEKfZlDlLPMtRLYmIt6Fyfp4jHcT
vcexrmGt//bBgk4AxYk6SHcJL7geC1dcYEGGgaY5OgfM6d5JQy3NrFi10X00rlb9zNqWNwGiyW+noxMI
i1lUqEVwPkKdfx3ceeLt+FfV7WRH5pwJv3y1tSpRzBujfY4DhnaZoXB6w/XN rsa-key
Host public key for SSH1 format code:
2048 65537 236941015232811666260001219255400042049251002132176199165964328872907
62315861642096465959957048515792187986415567147630601971740867326658811340451159
09534897567214549845665706447323081189582704791502844110771545216953861828794897
16505215930747650656491315305898960328825784148756839397148553375549641776803744
43335739986530110070121471008399836797503391896849620297805146670963526356056001
48692661082995338035203782115317601416899733389351082945795990481722443647523436
77466717344488348365408557704584570525123199388195217138029578325357632709409023
39998088070399073312864560500795120730384021226909827130316038600141
======================Server Key========================
Time of Key pair created : 2019-10-23 16:51:32
Key Name : PE1_Server
Key Type : RSA Encryption Key
========================================================
Key Code:
3081B9
  0281B1
    00F445E3 9D9B1B9E 5B853AFF BC85D760 0E02D2C4
    3390E96E 693920B4 BBD529B1 741A64AA A765DCA9
    D36846AA D9338499 0D944CFC FE06B25B 5AE75024
    C5034DD9 A3BD9C02 EEC0B89C 8C4E4C5B 9CED4E80
    DC286124 0D54494E 1EF0DE32 B9980761 6A60E86E
    C8FED238 E6811534 B794435C 025881BF D85DDB5B
    77BCF947 3B41F788 C432DD72 4E2E0B1E 1F73756B
    D1A71790 BA7660DD 86EB381A 2658D995 C053943F
    C48B42DA 6D65D0A1 F95429D4 A41B401C C9
  0203
    010001
[~PE1] 

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

CE1:
rsa peer-public-key rsakey001
 public-key-code begin
 3082010A
  02820101
    00BBB185 2EAC019C 8FE60F4D C304E34A 95900D2D E813A2E0 31D7A6B8 3F1E1502
    1F4EFA5D 58458EF0 A2C48A2C 1368F0B4 FE67533E 306E2AD2 75331449 A1AAAF85
    3A6C40C4 55B973A1 7665109F A355C0D2 8D76292D 55D9F52F 63E0A27C 085FEF3F
    123BA68A CCE823E6 D781560F 257BAF9E 65F74613 806B8632 795FEEC4 B5EAB942
    AE95E8C8 429F6650 E52CF32D 44B62622 DE85C9FA 788C7713 BDC7B1AE 61ADFFF6
    C1824E00 C5893A48 77092FB8 1E0B575C 60418681 A6393A07 CCE9DE49 432DCDAC
    58B5D17D 34AE56FD CCDA9637 01A2C96F A7A31308 8B5954A8 45703E42 9D7F1DDC
    79E2EDF8 57D5ED64 47E69C09 BF7CB5B5 2A51CC1B A37D8E03 867699A1 707AC3F5
    CD
  0203
    010001
 public-key-code end
 peer-public-key end
  1. 在服务器端创建SSH用户

说明:

  • SSH用户主要有Password、RSA、password-rsa、ECC、password-ecc或all这几种认证方式: 如果SSH用户的认证方式为password、password-rsa和password-ecc时,必须配置同名的local-user用户。 如果SSH用户的认证方式为RSA、password-rsa、ECC、password-ecc和all,服务器端应保存SSH客户端的RSA或ECC公钥。

配置VTY用户界面。

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

创建SSH用户Client001。

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

CE1:
ssh user client001
ssh user client001 authentication-type password

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

CE1:
aaa
 local-user client001 password irreversible-cipher $1c$M%p<8/A'wD$lTxF(^gYwNz=SlAdv@)7!kL>@SI5HGs/7LA]^iu&$
 local-user client001 service-type ssh

说明:

  • 密码采取交互式输入,系统不回显输入的密码。
  • 特殊字符不包括“?”和空格。但是,当输入的密码两端使用双引号时,可在密码中间输入空格。 如果使用双引号设置带空格密码,双引号之间不能再使用双引号。 如果使用双引号没有设置带空格密码,双引号之间可以再使用双引号。
  • 例如,"Aa 123"45""为不合法密码,"Aa123"45""为合法密码。

配置Client001的服务方式为STelnet。

CE1:
ssh user client001 service-type stelnet

新建用户名为Client002的SSH用户,且认证方式为RSA,并绑定SSH客户端RSA公钥。

CE1:
ssh user client002
ssh user client002 authentication-type rsa
ssh user client002 assign rsa-key rsakey001

配置Client002的服务方式为SFTP,并为其配置授权目录。

CE1:
ssh user client002 service-type sftp
ssh user client002 sftp-directory cfcard:
  1. SSH服务器端Stelent和SFTP服务使能
CE1:
stelnet server enable
sftp server enable
  1. PE设备作为SSH客户端登录CE设备

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

PE1:
ssh client first-time enable

以STelnet方式登录SSH服务器。

<PE1>stelnet 10.1.1.1 -vpn-instance vpn1
Trying 10.1.1.1 ...
Press CTRL + K to abort
Connected to 10.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 10.1.1.1. Please wait...
Please input the username: client001
Enter password: 
Warning: The initial password poses security risks.
The password needs to be changed. Change now? [Y/N]:n
Info: The max number of VTY users is 5, the number of current VTY users online i
s 1, and total number of terminal users online is 2.
      The current login time is 2019-10-23 16:59:43.
      First login successfully.
<CE1>

以SFTP方式登录SSH服务器。

[~PE1]sftp 10.1.1.1 -vpn-instance vpn1
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 10.1.1.1 ...
Please input the username: client002
sftp-client>
  1. 检查配置结果

配置完成后,在PE设备接口视图下执行display this命令,可以看到vpn-instance配置成功;在CE设备上执行display ssh server session命令,可以查看到STelnet客户端或SFTP客户端已经成功连接到SSH服务器。

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

[~CE1]dis ssh server session
--------------------------------------------------------------------------------
Session                                 : 1
Conn                                    : SFTP 0
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:04:52
Total Packet Number                     : 16
Packet Number after Rekey               : 16
Total Data(MB)                          : 0
Data after Rekey(MB)                    : 0
Time after Session Established(Minute)  : 4
Time after Rekey(Minute)                : 4
--------------------------------------------------------------------------------
[~CE1]

 

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于玩转华为ENSP模拟器系列 | 配置公网SSH访问私网SSH的举例的主要内容,如果未能解决你的问题,请参考以下文章

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

玩转华为ENSP模拟器系列 | 通过SFTP进行文件操作举例

玩转华为ENSP模拟器系列 | 配置SBFD检测SR-BE隧道示例

玩转华为ENSP模拟器系列 | 配置单段动态VPWS示例 - 使用LSP隧道

玩转华为ENSP模拟器系列 | 通过FTP访问其他设备文件配置举例

玩转华为ENSP模拟器系列 | 通过STelnet登录其他设备举例(ECC)