简介
本文档介绍如何在StarOS版本20及更高版本上备份.chassisidfile(机箱ID)。
背景信息
机箱密钥用于加密和解密配置文件中的加密密码。如果两个或多个机箱配置了相同的机箱密钥值,则任何共享相同机箱密钥值的机箱都可以解密加密密码。因此,给定的机箱密钥值无法解密使用其他机箱密钥值加密的密码。
机箱密钥用于生成存储在文件中的机箱ID,并且用作保护配置文件中的敏感数据(如密码和机密)的主密钥
对于版本15.0及更高版本,机箱ID是机箱密钥的SHA256散列。用户可通过CLI命令或快速设置向导设置机箱密钥。如果机箱ID不存在,则使用本地MAC地址生成机箱ID。
对于版本19.2及更高版本,用户必须通过Quick Setup Wizard或CLI命令明确设置机箱密钥。如果未设置,将生成使用本地MAC地址的默认机箱ID。如果没有机箱密钥(因此没有机箱ID),敏感数据不会显示在保存的配置文件中。
机箱ID是用户输入的机箱密钥的SHA256散列(以base36格式编码)加上32字节的安全随机数。这可以确保机箱密钥和机箱ID具有32字节的密钥安全熵。
如果机箱ID不可用,则配置文件中的敏感数据的加密和解密不起作用。
问题:无法备份机箱密钥值,因而无法针对同一节点上的相同配置运行。
由于从版本19.2开始的行为发生了变化,备份机箱密钥值以能够在同一节点上运行相同配置已经不够。
此外,由于随机32字节数附加到已配置的机箱密钥,因此始终根据相同的机箱密钥生成不同的机箱ID。
这就是现在隐藏cli命令chassis keycheck的原因,因为即使输入相同的旧密钥,该命令始终返回负值。
为了能够从保存的配置中恢复StarOS计算机(例如,当/闪存驱动器的所有内容都丢失时),需要备份.chassisid(StarOS在其中存储机箱ID)
机箱ID存储在StarOS硬盘驱动器的/flash/.chassisid文件中。备份此文件最简单的方法是通过某种文件传输协议将其传输到备份服务器:
您看到.chassisid文件是隐藏文件,对于较新的版本,不可能对隐藏文件执行文件管理操作。例如,此错误在版本20.0.1中显示:
[local]sim-lte# copy /flash/.chassisid /flash/backup
Failure: source is not valid.
[local]sim-lte#
或者:
[local]sim-lte# show file url /flash/.chassisid
Failure: file is not valid.
解决方案
仍然可以通过以下过程访问此文件:
步骤1:确保/flash/.chassisid中存在.chassisid文件。
[local]sim-lte# dir /flash/.chassisid
-rw-rw-r-- 1 root root 53 Jun 23 10:59 /flash/.chassisid
8 /flash/.chassisid
Filesystem 1k-blocks Used Available Use% Mounted on
/var/run/storage/flash/part1 523992 192112 331880 37% /mnt/user/.auto/onboard/flash
第二步:登录到隐藏模式。
[local]sim-lte# cli test-commands
Password:
Warning: Test commands enables internal testing and debugging commands
USE OF THIS MODE MAY CAUSE SIGNIFICANT SERVICE INTERRUPTION
[local]sim-lte#
注意:如果没有配置隐藏模式密码,请使用此命令进行配置:
[local]sim-lte(config)# tech-support test-commands password <password>
第三步:启动debug shell。
[local]sim-lte# debug shell
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Cisco Systems QvPC-SI Intelligent Mobile Gateway
[No authentication; running a login shell]
第四步:移入/flash目录。验证文件是否存在。
sim-lte:ssi#
sim-lte:ssi# ls
bin cdrom1 hd-raid param rmm1 tmp usr
boot dev include pcmcia1 sbin usb1 var
boot1 etc lib proc sftp usb2 vr
boot2 flash mnt records sys usb3
sim-lte:ssi#
sim-lte:ssi# cd flash
sim-lte:ssi# ls -a
. ldlinux.sys restart_file_cntr.txt
.. module.sys sftp
.chassisid patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
第五步:将隐藏文件复制到非隐藏文件。
sim-lte:ssi# cp .chassisid chassisid.backup
sim-lte:ssi#
sim-lte:ssi#
sim-lte:ssi# ls
chassisid.backup patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
ldlinux.sys restart_file_cntr.txt
module.sys sftp
第六步:退出debug shell。您应该能够传输创建的备份文件而不出现任何问题。
sim-lte:ssi# exit
Connection closed by foreign host.
[local]sim-lte#
[local]sim-lte# copy /flash/chassisid.backup /flash/chasisid.backup2
********************************************************************************
Transferred 53 bytes in 0.003 seconds (17.3 KB/sec)
[local]sim-lte#
[local]sim-lte#
[local]sim-lte# show file url /flash/chassisid.backup
1ke03dqfdb9dw3kds7vdslvuls3jnop8yj41qyh29w7urhno4ya6
UPDATE for Ultra-M升级过程
将N5.1升级到N5.5将破坏vpc实例和OSP。在启动升级过程之前,如果要重复使用,则应备份vPC配置文件和机箱ID。
步骤1.备份chassisid和最后一个配置文件:
bash-2.05b# ls -alrt
-rwxrwxr-x 1 root root 53 Jul 11 14:43 .chassisid
-rwxrwxr-x 1 root root 381973 Jul 11 14:41 GGN-2017-07-28.cfg
from copied file :
cpedrode@CPEDRODE-xxxxx:~/Desktop$ more 2017-07-28.chassis-id
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5^@
注:配置文件将具有来自.chassisid的派生密钥:
[local]GGN# show configuration url /flash/GGN-2017-07-28.cfg | more
Monday July 11 14:59:34 CEST 2016
#!$$ StarOS V21.1 Chassis c95bf13f030f6f68cae4e370b2d2482e
config
第二步:使用Ultra-M升级进行处理
第三步:系统升级并启动StarOS vpc CF后,将chassisid(常规文件)和配置文件(确保也更改了正确的O&M ip地址)复制到/flash/sftp(StarOS >R20)
第四步: 在“test-command”模式下从/flash备份隐藏的默认.chassisid文件并将其删除。
第五步:将chassisid文件从/flash/sftp复制到/flash中,在隐藏模式中将其复制为“.chassisid”。同时复制配置文件
注意:您可以检查派生的密钥颁发cli - show configuration url /flash/xxxxxx.cfg | 并与备份配置文件进行比较
第六步:添加指向新配置文件的引导优先级
注意:此时,StarOS将给出一个错误:
[local]GGN(config)# boot system priority 6 image /flash/staros.bin config /flash/GGN-2017-07-28.cfg
Monday July 28 08:45:28 EDT 2017
Warning: Configuration was generated using a different chassis key, some encrypted information may not
be valid
如果按照正确的步骤操作,您会看到一个配置文件,其机箱派生密钥等于备份配置文件,并且机箱子集等于备份chassisid。
请注意,当您查看chassisid文件时,它将附加PS1提示:
bash-2.05b# cat .chassisid
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5bash-2.05b#
步骤 7. 重新启动vPC
此时,系统应重新启动,您可以使用备份配置文件的登录凭证。