system
aaa
local-user telnet001 password cipher Huawei
local-user telnet001 privilege level 15
local-user telnet001 service-type telnet
quit
AAA:3A认证,即:认证(Authentication);授权(Authorization);计帐(Accounting)。
cipher参数将密码在配置中加密显示。
privilege权限范围0-15,15代表所有权限,详细信息如下图。
user-interface vty 0 4
authentication-mode aaa
protocol inbound telnet
“0 4”代表允许同时访问的用户数,从0到4共5个。
开启wireshark抓包,用电脑远程telnet登录设备,观察现象。
telnet x.x.x.x
# 进入登录界面
Username:telnet001
Password: //密码为aaa中设置的用户对应密码,此处不显示。
在wireshark中筛选telnet数据包,选择其中一个数据包,右键-追踪流-TCP流。
可以直接看到账号密码,所以使用telnet登录设备很容易泄露密码,不推荐使用。
telnet.pcapng
system
rsa local-key-pair create
......
......
Input the bits in the modulus[default = 2048]:2048 //输入2048开始生成密钥
system
aaa
local-user ssh001 password cipher Huawei
local-user ssh001 privilege level 15
local-user ssh001 service-type ssh
quit
stelnet server enable
华为的STelnet即SSH,叫法不同而已。
路由器中可能不支持此命令,默认开启。
ssh user ssh001 service-type stelnet
ssh user ssh001 authentication-type password
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
cmd中可以使用ssh [email protected]
进行访问,可能会因为缺少某些协议无法访问,可以使用第三方ssh客户端访问,下面以putty为例。
① 输入IP地址,点击Open连接设备。
② 弹出密钥提示框,点击是。
③ 输入账号密码登录。
④ wireshark抓包可以看到数据全部使用了SSHv2进行了加密,通过追踪流看到的也是加密过后的乱码,无法获取到原始数据,保证了数据安全。
ssh.pcapng
华为设备支持RSA和DSA两种非对称密钥,此处使用RSA。
system
rsa local-key-pair create
......
......
Input the bits in the modulus[default = 2048]:2048 //输入2048开始生成密钥
ssh user rsa001
因为使用的是公私钥进行登录,所以只创建ssh用户,无需在aaa中创建。
ssh user rsa001 authentication-type rsa
可以直接使用此命令创建用户,系统会提示Info: Succeeded in adding a new SSH user.
ssh user ssh001 service-type stelnet
ssh user ssh001 authentication-type rsa
stelnet server enable
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
常见的SSH工具创建密钥对以及通过RSA密钥登录的方式不尽相同,下面对常见的SSH工具分别进行说明。
① 打开puttygen.exe,选择RSA,点击Generate开始生成密钥对。
② 根据提示,鼠标在进度条区域晃动。
③ 生成密钥后,点击Save private key保存私钥文件。
④ 弹出确认框,点击是,选择位置,保存私钥为putty.ppk文件。
⑤ 点击Save public key,选择位置,保存公钥为putty.pub文件。
① 点击工具-创建公钥
② 在密钥生成向导中,点击下一步。
③ 密钥类型选择RSA,点击下一步。
④ 通行短语为私钥的密码,此处不设置,直接下一步。
⑤ 密钥长度填2048,点击下一步。
⑥ 生成密钥后,点击下一步。
⑦ 密钥格式根据需要选择,保持默认也可以,选择密钥的存储位置,点击完成。
⑧ 此处选择否。
① 点击工具-新建用户密钥生成向导。
② 密钥类型选择RSA,密钥长度选择2048,点击下一步。
③ 生成公钥对,点击下一步。
④ 填写密钥名称和密码(可选),点击完成。
⑤ 点击是完成。
⑥ 选择生成的密钥,点击属性。此界面也可通过工具-用户密钥管理者打开。
⑦ 公钥格式选择SSH2 - IETF SECSH,点击保存为文件。
⑧ 选择保存位置,将公钥保存为xshell.pub。
调用的是puttygen,操作方法与putty一致,点击Tools-MobaKeyGen。
打开ssh key convert软件,选择刚才导出的公钥文件Identify.pub,点击转换,生成交换机支持的16进制RSA公钥。
PS: SecureCRT和Xshell生成的公钥文件在转换时会出现未响应退出的问题,需要将公钥文件头部参数的内容加上引号。
SecureCRT和XShell可以生成OpenSSH格式的公钥文件,在Linux中使用ssh-keygen工具转换为16进制公钥。
① 导出OpenSSH格式公钥
SecureCRT
点击工具-转换私钥为OpenSSH格式。
选择并打开私钥文件Identity。
保存为OpenSSH私钥文件。
会生成OpenSSH格式的公私钥文件。
XShell
点击工具-用户密钥管理者。
选择生成的密钥,点击属性。此界面也可通过工具-用户密钥管理者打开。
公钥格式选择SSH2 - OpenSSH,点击保存为文件。
② 转换为16进制公钥
将OpenSSH格式的公钥文件上传到Linux,执行下面的命令,其中/root/Desktop/pri_openssh.pub为公钥文件的绝对路径,根据具体的路径进行修改。
ssh-keygen -e -m pem -f /root/Desktop/pri_openssh.pub | egrep -v "BEGIN|END" | base64 -d | od -t x1 -An -w4 | tr 'a-f' 'A-F' | tr -d ' ' | fmt -w 48
上面为markdown代码块内容,生成PDF后如无法看到全部命令,可复制下面的内容。
ssh-keygen -e -m pem -f /root/Desktop/pri_openssh.pub | egrep -v “BEGIN|END” | base64 -d | od -t x1 -An -w4 | tr ‘a-f’ ‘A-F’ | tr -d ’ ’ | fmt -w 48
① 导入公钥
# 配置命令如下
[Huawei]rsa peer-public-key Putty001
Enter "RSA public key" view, return system view with "peer-public-key end".
[Huawei-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[Huawei-rsa-key-code]3082010A 02820101 00A0DD31 F730852E CBC347F0 157569A9
[Huawei-rsa-key-code]E238924E 2DF5416C 46CF62E8 272EB23A 67534A10 A24A7AC5
[Huawei-rsa-key-code]FD844166 13BFD58D D66BBFD5 C72EC6A8 43195655 1852EC50
[Huawei-rsa-key-code]3C954641 59ACEEC1 5E381C7A B4A4BFCB B16127AD 4A2DEA93
[Huawei-rsa-key-code]9164FED0 FE3E9D53 E7398CE9 05E05117 B3AAC8D1 8886C864
[Huawei-rsa-key-code]6B4F7752 3064C760 6F0024C2 BCB8060B 0464B782 2F13840A
[Huawei-rsa-key-code]E57EFCD0 EEB8FEFD 2C5A8811 59645BAF DBBB83A7 B7906208
[Huawei-rsa-key-code]1BB5F789 BF88206B 35CDD8F5 408239B4 6373423D 2E35ABA8
[Huawei-rsa-key-code]29738F9E 2FDE32A7 C7426CFF 89ECB2BD 1564D63C 0FE35C42
[Huawei-rsa-key-code]D7909360 152F16D9 F64BD198 F148EA32 F4C36D0B DE13969A
[Huawei-rsa-key-code]FC85ADE0 C847FE73 8F96A0EB C89A2959 162F364A 173A8885
[Huawei-rsa-key-code]9D020301 0001
[Huawei-rsa-key-code]public-key-code end
[Huawei-rsa-public-key]peer-public-key end
# 配置中显示格式略有不同
[Huawei]dis cu | be rsa peer
rsa peer-public-key Putty001
public-key-code begin
30820109
02820100
A0DD31F7 30852ECB C347F015 7569A9E2 38924E2D F5416C46 CF62E827 2EB23A67
534A10A2 4A7AC5FD 84416613 BFD58DD6 6BBFD5C7 2EC6A843 19565518 52EC503C
95464159 ACEEC15E 381C7AB4 A4BFCBB1 6127AD4A 2DEA9391 64FED0FE 3E9D53E7
398CE905 E05117B3 AAC8D188 86C8646B 4F775230 64C7606F 0024C2BC B8060B04
64B7822F 13840AE5 7EFCD0EE B8FEFD2C 5A881159 645BAFDB BB83A7B7 9062081B
B5F789BF 88206B35 CDD8F540 8239B463 73423D2E 35ABA829 738F9E2F DE32A7C7
426CFF89 ECB2BD15 64D63C0F E35C42D7 90936015 2F16D9F6 4BD198F1 48EA32F4
C36D0BDE 13969AFC 85ADE0C8 47FE738F 96A0EBC8 9A295916 2F364A17 3A88859D
0203
010001
public-key-code end
peer-public-key end
② 为SSH用户rsa001绑定公钥Putty001
ssh user rsa001 assign rsa-key Putty001
Putty的版本最好与puttygen的版本一致,否则有可能会报错无法登录。
① 输入IP地址。
② Connection-SSH中SSH版本选择2,新版本默认为SSH2。
③ Connection-SSH-Auth中,选择私钥文件,点击Open。
④ 输入用户名即可直接登录。
① 打开快速连接,输入IP地址和用户名,选择公钥,点击属性。
② 选择公钥文件,点击确定,返回快速连接界面,点击连接。
① 输入IP地址回车,弹出登录框,输入用户名。
② 选择对应的密钥,输入密码(如果有),点击确定。
① 点击Session新建会话。
② 选择SSH,输入IP地址,在Advanced SSH settings中勾选Use private key并选择对应的私钥文件,点击OK。
③ 输入用户名后即可正常登录。
抓包可以看到数据同样被加密。
链接:https://pan.baidu.com/s/1v1P8KRLSPXukodheyVkX6Q?pwd=ijc5
提取码:ijc5