46-SSH典型配置举例
本章节下载: 46-SSH典型配置举例 (422.83 KB)
目 录
1.3 设备作为Stelnet服务器配置举例(password认证)
1.4 设备作为Stelnet服务器配置举例(publickey认证)
1.5 设备作为Stelnet客户端配置举例(password认证)
1.6 设备作为SFTP客户端配置举例(publickey认证)
本章介绍了使用SSH(Secure Shell,安全外壳)功能实现安全的远程访问或文件管理的典型配置举例。
· 设备作为SSH服务器时,非FIPS模式下支持SSH2和SSH1两个版本,FIPS模式下只支持SSH2版本;设备作为SSH客户端时,只支持SSH2版本。
· 本章中的典型配置举例仅适用于非FIPS模式下的设备。当设备运行于FIPS模式时,服务器端仅支持RSA密钥对,因此请不要生成本地的DSA密钥对,否则会导致用户认证失败。
表1 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
如图1所示,网络管理员需要通过Internet远程登录到小区的网关设备(Switch)上对其进行相关配置。为了提高对Switch进行管理的安全性,可将Switch配置为Stelnet服务器,并在Host上运行Stelnet客户端软件,在二者之间建立SSH连接。具体应用要求如下:
· Switch通过SSH的password认证方式对客户端进行认证,认证过程在Switch本地完成;
· Switch上限制用户的尝试登录次数,防止非法用户对用户名和密码进行恶意地猜测和破解。
图1 设备作为Stelnet服务器配置组网图(password认证)
· 虽然一个SSH客户端只会采用DSA和RSA公钥算法中的一种来认证服务器,但是由于不同客户端支持的公钥算法不同,为了确保客户端能够成功登录服务器,建议在SSH服务器(非FIPS模式下)上同时生成DSA和RSA两种密钥对。
· 通过password认证登录服务器的Stelnet用户将被授予远程AAA服务器或设备本地授权的用户角色。
· SSH客户端通过publickey和password两种方式进行认证尝试的次数总和,不能超过ssh server authentication-retries命令配置的SSH连接认证尝试次数,且该配置仅对新登录的用户生效。
# 配置VLAN接口1的IP地址,客户端将通过该地址连接Stelnet服务器。
<Switch> system-view
[Switch] interface vlan-interface 1
[Switch-Vlan-interface1] ip address 20.20.0.105 255.255.255.0
[Switch-Vlan-interface1] quit
# 生成RSA密钥对。
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:2048
Generating Keys...
..................+++
................................................................................
..........+++
......++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密钥对。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:2048
Generating Keys...
...+.....................+...........+...................+.+......+.+.......+...
.............................................+++++++++++++++++++++++++++++++++++
++++++++++++++++*
........+........+............+..+..+..+.+..................+.......+.......+...
.......+...+.......+...+..+..................+...........+.+..............+....+
.........+.....................+.........+........+.......+.+..................+
.........+.....+............+..+....................................+...........
+....+...........+.+....+.+..........+..........+............+..................
...........+..+....+........+.......+..........+....+..............+.+.+........
.............+........+......+.+.....................+.......+..................
.....+......................+.........+.............+.....+..+..................
.........+........+..+..........+.......+.....++++++++++++++++++++++++++++++++++
+++++++++++++++++*
Create the key pair successfully.
# 开启SSH服务器功能。
[Switch] ssh server enable
# 配置允许SSH用户认证尝试的最大次数为5次。
[Switch] ssh server authentication-retries 5
# 设置Stelnet客户端登录用户界面的认证方式为AAA认证。
[Switch] user-interface vty 0 15
[Switch-ui-vty0-15] authentication-mode scheme
[Switch-ui-vty0-15] quit
# 创建设备管理类本地用户client001,密码为aabbcc,服务类型为SSH,用户角色为network-admin。
[Switch] local-user client001 class manage
New local user added.
[Switch-luser-manage-client001] password simple aabbcc
[Switch-luser-manage-client001] service-type ssh
[Switch-luser-manage-client001] authorization-attribute user-role network-admin
# 为保证用户client001仅使用授权的用户角色network-admin,删除该用户具有的缺省用户角色network-operator。
[Switch-luser-manage-client001] undo authorization-attribute user-role network-operator
[Switch-luser-manage-client001] quit
# 配置SSH用户client001的服务类型为Stelnet,认证方式为password认证。(此步骤可以不配置)
[Switch] ssh user client001 service-type stelnet authentication-type password
Stelnet客户端软件有很多,例如PuTTY、OpenSSH等。本文中仅以客户端软件PuTTY0.58为例,说明Stelnet客户端的配置方法。
# 安装PuTTY0.58软件。
# 配置Stelnet服务器的IP地址。
打开PuTTY.exe程序,出现如图2所示的客户端配置界面。在“Host Name(or IP address)”文本框中输入Stelnet服务器的IP地址为20.20.0.105。
图2 Stelnet服务器配置界面
在图2中,单击<Open>按钮,弹出服务器登录安全提示,单击<是>:
图3 Stelnet服务器登录安全提示
客户端向Switch发起连接后,按提示输入用户名“client001”和密码“aabbcc”,即可进入Switch的用户界面。
Login as: client001
client001@20.20.0.105’s password:
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<Switch>
#
vlan 1
#
interface Vlan-interface1
ip address 20.20.0.105 255.255.255.0
#
user-interface vty 0 15
authentication-mode scheme
user-role network-operator
#
ssh server enable
ssh server authentication-retries 5
ssh user client001 service-type stelnet authentication-type password
#
local-user client001 class manage
password hash $h$6$mSlOltEn0kBbM3bT$CxfeBuwEl3ffZIP0MRqK5sh7P9/v4DPoyNsoXhriVVU
NG6eG+AIMM8M170pRPPnOwq2AN+AXpvby8blYvN5FHg==
service-type ssh
authorization-attribute user-role network-admin
#
表2 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
如图4所示,网络管理员需要通过Internet远程登录到小区的网关设备(Switch)上对其进行相关配置。为了提高对Switch进行管理的安全性和认证强度,可将Switch配置为Stelnet服务器,并要求Switch通过SSH的publickey认证方式对客户端进行认证,使用的公钥算法为RSA。
图4 设备作为Stelnet服务器配置组网图(publickey认证)
通过publickey认证登录服务器的Stelnet用户将被授予对应的本地用户视图下指定的用户角色。
使用SSH的publickey认证方式:客户端首先要生成RSA密钥对,并将公钥文件上传到Stelnet服务器;服务器端也要生成RSA密钥对。服务器使用本地保存的客户端公钥,与报文中携带的客户端公钥进行比较,完成客户端持有公钥的正确性的验证。如果公钥验证成功,客户端继续使用自己本地密钥对的私钥部分,对特定报文进行摘要运算,将所得的结果(即数字签名)发送给服务器,向服务器证明自己的身份;服务器使用预先配置的该用户的公钥,对客户端发送过来的数字签名进行验证,验证成功后,建立安全的SSH连接。
在客户端运行PuTTYGen.exe,在参数栏中选择“SSH-2 RSA”,密钥位数中输入“2048”,点击<Generate>,产生客户端密钥对。
图5 生成客户端密钥(1)
在产生密钥对的过程中需不停的移动鼠标,鼠标移动仅限于下图蓝色框中除绿色标记进程条外的地方,否则进程条的显示会不动,密钥对将停止产生,见图6。
密钥对产生后,点击<Save public key>,选择保存的路径(比如C:\),并输入公钥文件名(例如key.pub)后,点击<保存>按钮。
图7 生成客户端密钥(3)
点击<Save private key>存储私钥,弹出警告框,提醒是否保存没做任何保护措施的私钥,点击<Yes>;然后选择保存的路径(比如C:\),并输入私钥文件名(例如private.ppk)后,点击<保存>按钮。
图8 生成客户端密钥(4)
客户端生成密钥对后,需要将保存的公钥文件“key.pub”通过FTP/TFTP方式上传到服务器,具体请参见3. 配置客户端上传公钥文件。
# 配置VLAN接口1的IP地址。
<Switch> system-view
[Switch] interface vlan-interface 1
[Switch-Vlan-interface1] ip address 20.20.0.105 255.255.255.0
[Switch-Vlan-interface1] quit
# 在Switch上创建一个ftp类型的本地用户,用户名和密码均为ftp,授权用户角色为network-admin,工作路径为flash:/。
[Switch] local-user ftp class manage
New local user added.
[Switch-luser-manage-ftp] password simple ftp
[Switch-luser-manage-ftp] authorization-attribute user-role network-admin
[Switch-luser-manage-ftp] authorization-attribute work-directory flash:/
[Switch-luser-manage-ftp] service-type ftp
[Switch-luser-manage-ftp] quit
# 开启Switch的FTP服务器功能。
[Switch] ftp server enable
[Switch] quit
# Host通过FTP登录并上传公钥文件key.pub到Switch。
c:\> ftp 20.20.0.105
Connected to 20.20.0.105.
220 FTP service ready.
User(20.20.0.105:(none)):ftp
331 Password required for ftp.
Password:
230 User logged in.
ftp> put key.pub
200 PORT command successful.
150 Connecting to port 5001
226 File successfully transferred
ftp:发送468字节,用时0.00Seconds 4680000.00Kbytes/sec.
ftp> bye
221-Goodbye. You uploaded 1 and downloaded 0 kbytes.
221 Logout.
c:\
# 生成RSA密钥对。
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:2048
Generating Keys...
......+++
......+++
...............++++++++
...............++++++++
Create the key pair successfully.
# 启动SSH服务器。
[Switch] ssh server enable
# 设置客户端登录用户界面的认证方式为AAA,远程用户登录协议为SSH。
[Switch] user-interface vty 0 15
[Switch-ui-vty0-15] authentication-mode scheme
[Switch-ui-vty0-15] protocol inbound ssh
[Switch-ui-vty0-15] quit
# 从文件key.pub中导入远端的公钥,并命名为Switch001。
[Switch] public-key peer Switch001 import sshkey key.pub
# 创建设备管理类本地用户client002,服务类型为SSH,并授权用户角色为network-admin。
[Switch] local-user client002 class manage
New local user added.
[Switch-luser-manage-client002] service-type ssh
[Switch-luser-manage-client002] authorization-attribute user-role network-admin
[Switch-luser-manage-client002] quit
# 创建SSH用户client002,并指定配置SSH的认证方式为publickey,公钥为Switch001。
[Switch] ssh user client002 service-type stelnet authentication-type publickey assign publickey Switch001
[Switch] quit
# 指定私钥文件,并建立与Stelnet服务器的连接。
打开PuTTY.exe程序,出现如图9所示的客户端配置界面。在“Host Name(or IP address)”文本框中输入Stelnet服务器的IP地址为20.20.0.105。
图9 SSH客户端配置界面(1)
单击“SSH”下面的“Auth”(认证),出现如图10的界面。单击<Browse…>按钮,弹出文件选择窗口。选择与配置到服务器端的公钥对应的私钥文件“private.ppk”。
图10 SSH客户端配置界面(2)
如图10,单击<Open>按钮。
如图11,在弹出的警告对话框中选择<是>。
图11 PuTTY安全警告对话框
按提示输入用户名client002,即可进入Switch的配置界面。
Login as: client002
Authenticating with public key “rsa-key-20130910”
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<Switch>
#
ftp server enable
#
vlan 1
#
interface Vlan-interface1
ip address 20.20.0.105 255.255.255.0
#
user-interface vty 0 15
authentication-mode scheme
user-role network-operator
protocol inbound ssh
#
ssh server enable
ssh user client002 service-type stelnet authentication-type publickey assign pu
blickey Switch001
#
local-user client002 class manage
service-type ssh
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
local-user ftp class manage
password hash $h$6$rPGf1u0xsv3fN3X5$klFjlO31PR0MYz8BNqW1PIE1f+sOdAVeVNEmqa8s6tI
ciDOMelH2/ZGxNwaYMXX5VdnQCs7RU1OAhx0/IpkRWg==
service-type ftp
authorization-attribute work-directory flash:/
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
public-key peer Switch001
public-key-code begin
30820120300D06092A864886F70D01010105000382010D00308201080282010100D7A2FC65
000A6CE396F3E3A3FD64AC23C61845864BD377C858952DCCBD63FFA695333B82CB467C928E
3A7FF9DD6580212514953A4912D72B47FC61709BF2354575D1D68611DC313E81E0E988BCDB
4A24B003E77031D3D81CD57451B84BEDB706373927AAEFB545FD9CFEC4B38FB0695BD8D18E
92A10688B60D00537A7F606ECBC5B44228EAAA29E7135103CC8800FF0A825CFAA0DAE3311E
97D821F1B3007E88B2B3E3BBF50ECD4A7558BEE768B4E08EE764900A8AA60C1DC887DA6288
C2A7AF62FA5AAEFF806788CE003D48015E7DBBE3B74F93646607A6363D0C0C25C35E3566C6
8A3B8CEC4B7A47D22F4EDDD36A9C5A630F2A7C638CD37E441EFE28B530F5020125
public-key-code end
peer-public-key end
#
表3 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
如图12所示,通过将Swtich A配置为Stelnet客户端,Switch B配置为Stelnet服务器,在二者之间建立SSH连接,使用户能够通过Switch A安全地登录到Switch B,并被授予用户角色network-admin进行配置管理。要求Switch B通过SSH的password认证方式对客户端进行认证,客户端的用户名和密码保存在Switch B上。
图12 设备作为Stelnet客户端配置组网图
· 设备作为Stelnet客户端时,默认支持首次认证,即当Stelnet客户端首次访问服务器,而客户端没有配置服务器端的主机公钥时,用户可以选择继续访问该服务器,并在客户端保存该主机公钥;当用户下次访问该服务器时,就以保存的主机公钥来认证该服务器。首次认证在比较安全的网络环境中可以简化客户端的配置,但由于该方式下客户端完全相信服务器公钥的正确性,因此存在一定的安全隐患。
· 通过password认证登录服务器的Stelnet用户将被授予远程AAA服务器或设备本地授权的用户角色。
# 配置VLAN接口1的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] ip address 192.168.0.51 255.255.255.0
[SwitchB-Vlan-interface1] quit
# 生成DSA密钥对。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
...........+...........+............+..+.+..........+......+......+...+..+......
...+...........+...........+..........+.....+..................+.+..+...........
......+++++++++++++++++++++++++++++++++++++++++++++++++++*
..............+........+.+.+........+...........+....................+...+......
+++++++++++++++++++++++++++++++++++++++++++++++++++*
Create the key pair successfully.
# 生成RSA密钥对。
[SwitchB] public-key local create rsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.......+++
............................................................+++
........++++++++
........++++++++
Create the key pair successfully.
# 查看Switch B上的DSA公钥信息。
[SwitchB ] display public-key local dsa public
=============================================
Key name: dsakey (default)
Key type: DSA
Time when key pair created: 12:28:38 2013/09/10
Key code:
308201B83082012C06072A8648CE3804013082011F02818100D757262C4584C44C211F18BD
96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE65BE6C265854889DC1E
DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B06FD60FE01941D
DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B36895038
7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDACE915F0281810082269009E1
4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD
35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132CE71B020217091AC717B6123
91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E810561C21621C73D6DAAC028F4B1
585DA7F42519718CC9B09EEF0381850002818100D383008A4A4A36764A36EAA682E2C0F9EA
63EA5006DBC94AD4AC680CD25E9C104E682A41EF739BD9378644EF943EEEC3F7C69CB9542D
747984E61BE40146E932B1FA1301D717C3008E4B9BECBA1C524000598ADC6A5DF97B78BD05
F6565ECED8EFE2347B36A68EF03C5042981DE1110A13075068635E41385CC271FF1F64C797
# 查看Switch B上的RSA公钥信息。
[SwitchB] display public-key local rsa public
=============================================
Key name: hostkey (default)
Key type: RSA
Time when key pair created: 12:28:49 2013/09/10
Key code:
30819F300D06092A864886F70D010101050003818D00308189028181009D7B0F1A80618954
6BE57E25528D73CCA4547018B0369DD0AA84B935CFB617179616620FC320CB5F0132328A59
1E76A8422DA35FA1265120580D6C9911C9F1A1E8AD22F3730683744BA35B7D0F608DC16085
0036DE792FBE05309F5167542960DBEF47F3A0E6C9C63C4B25418E2877693E49FABA5930CB
8CE52918D96D6A21E50203010001
=============================================
Key name: serverkey (default)
Key type: RSA
Time when key pair created: 12:28:49 2013/09/10
Key code:
307C300D06092A864886F70D0101010500036B003068026100D971EC82BA09CA96AA30B11A
F872D83343CA537CFD3E76F04EFB5A4EC2DEDB21E5CE0B1463770F8CC96442CCDF00CB1D15
B90B21233F88E5630F873B6B45D58D172DE3D271E6B7B888738FD10386A287C7E8E92686CF
029AE22FD06014EA8DE90203010001
# 开启SSH服务器功能。
[SwitchB] ssh server enable
# 设置Stelnet客户端登录用户界面的认证方式为AAA认证。
[SwitchB] user-interface vty 0 15
[SwitchB-ui-vty0-15] authentication-mode scheme
[SwitchB-ui-vty0-15] quit
# 创建设备管理类本地用户client001,并设置密码为明文aabbcc,服务类型为SSH,用户角色为network-admin。
[SwitchB] local-user client001 class manage
New local user added.
[SwitchB-luser-manage-client001] password simple aabbcc
[SwitchB-luser-manage-client001] service-type ssh
[SwitchB-luser-manage-client001] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client001] quit
# 创建SSH用户client001,并指定SSH的服务类型为Stelnet,认证方式为password认证。(此步骤可以不配置)
[SwitchB] ssh user client001 service-type stelnet authentication-type password
# 配置VLAN接口1的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ip address 192.168.0.105 255.255.255.0
[SwitchA-Vlan-interface1] quit
[SwitchA] quit
· 客户端本地没有服务器端的主机公钥,首次与服务器建立连接
# 建立到服务器192.168.0.51的SSH连接,选择在不认证服务器的情况下继续访问服务网,并在客户端保存服务器端的本地公钥。
<SwitchA> ssh2 192.168.0.51
Username: client001
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:y
client001@192.168.0.51's password:
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
客户端本地已保存了服务器端的主机公钥后,可直接与服务器建立连接。
<SwitchA> ssh2 192.168.0.51
Username: client001
client001@192.168.0.51's password:
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
· 客户端配置服务器端的主机公钥后,与服务器建立连接
# 在客户端配置SSH服务器端的主机公钥。在公钥视图输入服务器端的主机公钥,即在服务器端通过display public-key local dsa public命令显示的公钥内容。
[SwitchA] public-key peer key1
Enter public key view. Return to system view with "peer-public-key end" command.
[SwitchA-pkey-public-key-key1]308201B83082012C06072A8648CE3804013082011F02818100
D757262C4584C44C211F18BD
[SwitchA-pkey-public-key-key1]96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE0
8CECE65BE6C265854889DC1E
[SwitchA-pkey-public-key-key1]DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F2
2C3C89CB9B06FD60FE01941D
[SwitchA-pkey-public-key-key1]DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F
358214B16A2FAC4B36895038
[SwitchA-pkey-public-key-key1]7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDA
CE915F0281810082269009E1
[SwitchA-pkey-public-key-key1]4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5
EF93133E84B47093C52B20CD
[SwitchA-pkey-public-key-key1]35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132
CE71B020217091AC717B6123
[SwitchA-pkey-public-key-key1]91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E8105
61C21621C73D6DAAC028F4B1
[SwitchA-pkey-public-key-key1]585DA7F42519718CC9B09EEF0381850002818100D383008A4A
4A36764A36EAA682E2C0F9EA
[SwitchA-pkey-public-key-key1]63EA5006DBC94AD4AC680CD25E9C104E682A41EF739BD93786
44EF943EEEC3F7C69CB9542D
[SwitchA-pkey-public-key-key1]747984E61BE40146E932B1FA1301D717C3008E4B9BECBA1C52
4000598ADC6A5DF97B78BD05
[SwitchA-pkey-public-key-key1]F6565ECED8EFE2347B36A68EF03C5042981DE1110A13075068
635E41385CC271FF1F64C797
[SwitchA-pkey-public-key-key1]peer-public-key end
[SwitchA]quit
# 建立到服务器192.168.0.51的SSH连接,并指定服务器端的主机公钥。
<SwitchA> ssh2 192.168.0.51 publickey key1
Username: client001
client001@192.168.0.51's password:
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved. *
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
· Switch A
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.0.105 255.255.255.0
#
public-key peer 192.168.0.51
public-key-code begin
308201B83082012C06072A8648CE3804013082011F02818100D757262C4584C44C211F18BD
96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE65BE6C265854889DC1E
DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B06FD60FE01941D
DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B36895038
7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDACE915F0281810082269009E1
4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD
35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132CE71B020217091AC717B6123
91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E810561C21621C73D6DAAC028F4B1
585DA7F42519718CC9B09EEF0381850002818100D383008A4A4A36764A36EAA682E2C0F9EA
63EA5006DBC94AD4AC680CD25E9C104E682A41EF739BD9378644EF943EEEC3F7C69CB9542D
747984E61BE40146E932B1FA1301D717C3008E4B9BECBA1C524000598ADC6A5DF97B78BD05
F6565ECED8EFE2347B36A68EF03C5042981DE1110A13075068635E41385CC271FF1F64C797
public-key-code end
peer-public-key end
#
public-key peer key1
public-key-code begin
308201B83082012C06072A8648CE3804013082011F02818100D757262C4584C44C211F18BD
96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE65BE6C265854889DC1E
DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B06FD60FE01941D
DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B36895038
7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDACE915F0281810082269009E1
4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD
35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132CE71B020217091AC717B6123
91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E810561C21621C73D6DAAC028F4B1
585DA7F42519718CC9B09EEF0381850002818100D383008A4A4A36764A36EAA682E2C0F9EA
63EA5006DBC94AD4AC680CD25E9C104E682A41EF739BD9378644EF943EEEC3F7C69CB9542D
747984E61BE40146E932B1FA1301D717C3008E4B9BECBA1C524000598ADC6A5DF97B78BD05
F6565ECED8EFE2347B36A68EF03C5042981DE1110A13075068635E41385CC271FF1F64C797
public-key-code end
peer-public-key end
#
· Switch B
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.0.51 255.255.255.0
#
user-interface vty 0 15
authentication-mode scheme
user-role network-operator
#
ssh server enable
ssh user client001 service-type stelnet authentication-type password
#
local-user client001 class manage
password hash $h$6$JM2d+CjyWo60Lx+z$QN5/eszOsB2t9nULUaEJVrEU4cZl3HNdYx1Gykx2bVk
IqEaxZD8Kh62gN/HHesf8Dnd/1USVMU6MTck2agnk6A==
service-type ssh
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
表4 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
如图13所示,通过将Swtich A配置为SFTP客户端,Switch B配置为SFTP服务器,在二者之间建立SSH连接,使用户能够从Switch A安全地登录到Switch B上,并被授予用户角色network-admin进行文件管理和文件传送等操作。为了提高认证强度,要求Switch B通过SSH的publickey认证方式对客户端进行认证,使用的公钥算法为DSA。
图13 设备作为SFTP客户端配置组网图
· 设备作为SFTP客户端时,默认支持首次认证,即当SFTP客户端首次访问服务器,而客户端没有配置服务器端的主机公钥时,用户可以选择继续访问该服务器,并在客户端保存该主机公钥;当用户下次访问该服务器时,就以保存的主机公钥来认证该服务器。首次认证在比较安全的网络环境中可以简化客户端的配置,但由于该方式下客户端完全相信服务器公钥的正确性,因此存在一定的安全隐患。
· 通过publickey认证登录服务器的SFTP用户将被授予对应的本地用户视图下指定的用户角色。
· SFTP用户登录时使用的工作目录与用户使用的认证方式有关。通过publickey认证登录服务器的用户使用的工作目录为对应的本地用户视图下为该用户设置的工作目录。
为实现SSH的publickey认证方式,Switch A首先要生成DSA密钥对;而后将生成的DSA主机公钥导出到指定文件中,并上传给Switch B。Switch B也要生成DSA密钥对,并使用本地保存的客户端公钥,与报文中携带的客户端公钥进行比较,完成客户端持有公钥的正确性的验证。如果公钥验证成功,Switch A继续使用自己本地密钥对的私钥部分,对特定报文进行摘要运算,将所得的结果(即数字签名)发送给Switch B,向其证明自己的身份;Switch B使用预先配置的该用户的公钥,对Switch A发送过来的数字签名进行验证,验证成功后,建立安全的SSH连接。
# 配置VLAN接口1的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ip address 192.168.0.105 255.255.255.0
[SwitchA-Vlan-interface1] quit
# 生成DSA密钥对。
[SwitchA] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........+......+...+..+......................+.............+.........+..+.....
..+++++++++++++++++++++++++++++++++++++++++++++++++++*
.......................+....+................................................+..
...+............+..+......+++++++++++++++++++++.
++++++++++++++++++++++++++++++*
Create the key pair successfully.
# 将生成的DSA主机公钥导出到指定文件key2.pub中。
[SwitchA] public-key local export dsa ssh2 key2.pub
[SwitchA] quit
客户端生成密钥对后,需要将保存的公钥文件key2.pub通过FTP/TFTP方式上传到服务器,具体请参见3. 配置客户端上传公钥文件。
# 配置VLAN接口1的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] ip address 192.168.0.51 255.255.255.0
[SwitchB-Vlan-interface1] quit
# 在SwitchB上创建一个ftp类型的本地用户,用户名和密码均为“ftp”,用户角色为network-admin,工作目录为flash:/。
[SwitchB] local-user ftp class manage
New local user added.
[SwitchB-luser-manage-ftp] password simple ftp
[SwitchB-luser-manage-ftp] authorization-attribute user-role network-admin
[SwitchB-luser-manage-ftp] authorization-attribute work-directory flash:/
[SwitchB-luser-manage-ftp] service-type ftp
[SwitchB-luser-manage-ftp] quit
# 开启SwitchB的FTP服务器功能。
[SwitchB] ftp server enable
[SwitchB] quit
# SwitchA登录FTP服务器,并上传公钥文件。
<SwitchA> ftp 192.168.0.51
Connected to 192.168.0.51 (192.168.0.51).
220 FTP service ready.
User (192.168.0.51:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put key2.pub
227 Entering Passive Mode (192,168,0,51,157,66)
150 Accepted data connection
226 File successfully transferred
677 bytes sent in 0.000381 seconds (1.69 Mbyte/s)
ftp> bye
221-Goodbye. You uploaded 2 and downloaded 0 kbytes.
221 Logout.
# 生成DSA密钥对,并开启SSH服务器功能。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................+..+............+.......+.....................+.......
...+........+.+.............+++++++++++++++++++++++++++++++++++++++++++++++++++*
...........+.....+......+...........+....+.....+..+....+.......+........+.......
....+........+..+..+......+................+.....+..........+.+...............+.
.+.+.......+...........+....+..+.....+.............................+..........+.
+++++++++++++++++++++++++++++++++++++++++++++++++++*
Create the key pair successfully.
# 启动SFTP服务器。
[SwitchB] sftp server enable
# 从文件key2.pub中导入远端的公钥。
[SwitchB] public-key peer Switch001 import sshkey key2.pub
# 创建设备管理类本地用户client002,服务类型为SSH,并授权用户角色为network-admin,工作目录为flash:/。
[SwitchB] local-user client002 class manage
New local user added.
[SwitchB-luser-manage-client002] service-type ssh
[SwitchB-luser-manage-client002] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client002] authorization-attribute work-directory flash:/
[SwitchB-luser-manage-client002] quit
# 设置SSH用户client002的服务类型为SFTP,认证方式为publickey,并指定公钥为Switch001,工作目录为flash:/。
[SwitchB] ssh user client002 service-type sftp authentication-type publickey assign publickey Switch001 work-directory flash:/
# 与远程SFTP服务器建立连接,进入SFTP客户端视图。
<SwitchA> sftp 192.168.0.51 identity-key dsa
Username: client002
Press CTRL+C to abort.
Connecting to 192.168.0.51 port 22.
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:y
sftp>
Do you want to save the server public key? [Y/N]:n
# 显示服务器的当前目录。
sftp> dir
-rw-rw-rw- 1 1 1 44890112 Jan 1 06:06 5800.ipe
-rw-rw-rw- 1 1 1 33679360 Jan 1 04:55 5820_5830-cmw710-system-
r2210.bin
-rw-rw-rw- 1 1 1 5427 Jan 1 00:20 basic.cfg
-rwxrwxrwx 1 1 1 94145 Jan 1 00:20 basic.mdb
-rwxrwxrwx 1 1 1 677 Jan 1 01:17 key2.pub
drwxrwxrwx 1 1 1 2048 Jan 1 00:12 logfile
sftp>
# 新增目录new1,并检查新目录是否创建成功。
sftp> mkdir new1
sftp> dir
-rw-rw-rw- 1 1 1 44890112 Jan 1 06:06 5800.ipe
-rw-rw-rw- 1 1 1 33679360 Jan 1 04:55 5820_5830-cmw710-system-
r2210.bin
-rw-rw-rw- 1 1 1 5427 Jan 1 00:20 basic.cfg
-rwxrwxrwx 1 1 1 94145 Jan 1 00:20 basic.mdb
-rwxrwxrwx 1 1 1 677 Jan 1 01:17 key2.pub
drwxrwxrwx 1 1 1 2048 Jan 1 00:12 logfile
drwxrwxrwx 1 1 1 2048 Jan 1 01:32 new1
# 将目录名new1更名为new2,并查看是否更名成功。
sftp> rename new1 new2
sftp> dir
-rw-rw-rw- 1 1 1 44890112 Jan 1 06:06 5800.ipe
-rw-rw-rw- 1 1 1 33679360 Jan 1 04:55 5820_5830-cmw710-system-
r2210.bin
-rw-rw-rw- 1 1 1 5427 Jan 1 00:20 basic.cfg
-rwxrwxrwx 1 1 1 94145 Jan 1 00:20 basic.mdb
-rwxrwxrwx 1 1 1 677 Jan 1 01:17 key2.pub
drwxrwxrwx 1 1 1 2048 Jan 1 00:12 logfile
drwxrwxrwx 1 1 1 2048 Jan 1 01:32 new2
# 退出SFTP客户端视图。
sftp> quit
<SwitchA>
· SwitchA
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.0.105 255.255.255.0
#
public-key peer 192.168.0.51
public-key-code begin
308201B83082012C06072A8648CE3804013082011F02818100D757262C4584C44C211F18BD
96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE65BE6C265854889DC1E
DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B06FD60FE01941D
DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B36895038
7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDACE915F0281810082269009E1
4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD
35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132CE71B020217091AC717B6123
91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E810561C21621C73D6DAAC028F4B1
585DA7F42519718CC9B09EEF0381850002818100CE4A8B1F8AF6F5CE3D4D17F63E49A6780D
A699ABD0601EC137B7E06FB710281055718FA3BB72118E1BD0CCBD366D8A214FF64A483A56
388EA4EB2EC4CC34C166D081E61BD2A4D46BDD961931C0E1B58523372F17D2D634768BFF4E
29C38C4960AE5957ACFDA2A6A1DE6970F093EE32A71C829B9BA701ECCD9715B066F814E788
public-key-code end
peer-public-key end
#
· Switch B
#
ftp server enable
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.0.51 255.255.255.0
#
sftp server enable
ssh user client002 service-type sftp authentication-type publickey assign publi
ckey Switch001
#
local-user client002 class manage
service-type ssh
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
local-user ftp class manage
password hash $h$6$CyLz0rqT0vizryPz$iCBbicrXu3ug+r2F18x2zpxDVSJkvMyiiDpj/h802VB
TyRFeJfsjOmY5seHI+tkYLtymUazqsNrGkaXVTLcL3Q==
service-type ftp
authorization-attribute work-directory flash:/
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
public-key peer Switch001
public-key-code begin
308201B73082012C06072A8648CE3804013082011F02818100D757262C4584C44C211F18BD
96E5F061C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE65BE6C265854889DC1E
DBD13EC8B274DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B06FD60FE01941D
DD77FE6B12893DA76EEBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B36895038
7811C7DA33021500C773218C737EC8EE993B4F2DED30F48EDACE915F0281810082269009E1
4EC474BAF2932E69D3B1F18517AD9594184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD
35D02492B3959EC6499625BC4FA5082E22C5B374E16DD00132CE71B020217091AC717B6123
91C76C1FB2E88317C1BD8171D41ECB83E210C03CC9B32E810561C21621C73D6DAAC028F4B1
585DA7F42519718CC9B09EEF038184000281806D02F0D9F71F4B82356D6E4B6E91510609FE
5E6F060F3ADCA2D92D375762E378945B68C741A07624A7EE09EA882985C43C8B84C7610F44
B9EFB3140AF8E2E824D0865AD6AD00754AE9583F094BDDC509CAE1C521C941D6999F97AEA3
5709A53D4BD497CBB8A412D3145609AB8D059037132006CF6D6A11F7B0965A35DEDA4DC6
public-key-code end
peer-public-key end
#
表5 配置适用的产品与软件版本关系
产品 |
软件版本 |
S5830V2&S5820V2系列以太网交换机 |
Release 2208P01,Release 2210 |
如图14所示,Switch A作为SCP客户端,Switch B作为SCP服务器。现有如下具体需求:
· 用户能够通过Switch A安全地登录到Switch B上,并被授予用户角色network-admin与Switch B进行简单的文件传输。
· Switch B采用password认证对SCP客户端进行认证,客户端的用户名和密码保存在Switch B上。
图14 SCP文件传输配置组网图
· 设备作为SCP客户端时,默认支持首次认证,即当SCP客户端首次访问服务器,而客户端没有配置服务器端的主机公钥时,用户可以选择继续访问该服务器,并在客户端保存该主机公钥;当用户下次访问该服务器时,就以保存的主机公钥来认证该服务器。首次认证在比较安全的网络环境中可以简化客户端的配置,但由于该方式下客户端完全相信服务器公钥的正确性,因此存在一定的安全隐患。
· 通过password认证登录服务器的SCP用户将被授予远程AAA服务器或设备本地授权的用户角色。
· SCP用户登录时使用的工作目录与用户使用的认证方式有关。通过password认证登录服务器的用户,使用的工作目录为通过AAA授权的工作目录。
# 配置接口VLAN接口2的IP地址,客户端将通过该地址连接SCP服务器。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.0.1 255.255.255.0
[SwitchB-Vlan-interface2] quit
# 生成RSA密钥对。
[SwitchB] public-key local create rsa
The range of public key size is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.......................................................+++
....................................................................+++
.....................++++++++
..++++++++
Create the key pair successfully.
# 生成DSA密钥对。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:2048
Generating Keys...
...........+...+.......+.............+..+........................+..+..+.....+..
.....+++++++++++++++++++++++++++++++++++++++++++++++++++*
......+.+.+.....+.................+......+................++++++++++++++++++++++
+++++++++++++++++++++++++++++*
Create the key pair successfully.
# 使能SSH服务器功能。
[SwitchB] ssh server enable
# 创建设备管理类本地用户client001,密码为aabbcc,服务类型为SSH,用户角色为network-admin,工作目录为flash:/。
[SwitchB] local-user client001 class manage
[SwitchB-luser-manage-client001] password simple aabbcc
[SwitchB-luser-manage-client001] service-type ssh
[SwitchB-luser-manage-client001] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client001] authorization-attribute work-directory flash:/
[SwitchB-luser-manage-client001] quit
# 配置SSH用户client001的服务类型为scp,认证方式为password认证。(此步骤可以不配置)
[SwitchB] ssh user client001 service-type scp authentication-type password
# 与远程SCP服务器建立连接,并下载远端的basic.cfg文件,下载到本地后更名为local.cfg。
<SwitchA> scp 192.168.0.1 get basic.cfg local.cfg
Username: client001
Connected to 192.168.0.1 ...
The Server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
client001@192.168.0.1's password:
basic.cfg 100% 5427 5.3KB/s 00:00
· Switch B
#
vlan 1
#
interface Vlan-interface1
ip address 192.168.0.1 255.255.255.0
#
ssh server enable
ssh user client001 service-type stelnet authentication-type password
#
local-user client001 class manage
password hash $h$6$JM2d+CjyWo60Lx+z$QN5/eszOsB2t9nULUaEJVrEU4cZl3HNdYx1Gykx2bVk
IqEaxZD8Kh62gN/HHesf8Dnd/1USVMU6MTck2agnk6A==
service-type ssh
authorization-attribute user-role network-operator
authorization-attribute user-role network-admin
#
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!