我配置了交换机的SSH登录,身份验证方式是publickey,使用vc这个密钥作为admin用户的认证密钥:
ssh server enable
sftp server enable
ssh server authentication-retries 5
ssh user admin service-type all authentication-type publickey assign publickey vc
然后添加了客户端的公钥:
display public-key peer
=============================================
Key name: vc
Key type: ECDSA
Key length: 384
Key code:
此处省略公钥内容
按照上面的配置,我理解通过admin用户登录时,只有客户端使用了vc这个密钥,才能通过验证,但实际上测试发现,客户端使用任何一个ecdsa密钥来连接交换机,都能通过验证:
这里我在linux系统中删除了所有的密钥文件和缓存,然后实时生成了一个ecdsa密钥(/home/vc/.ssh/id_ecdsa),使用这个密钥仍然能够连接交换机:
vc@vc:~/.ssh$ ls -l
total 8
-rw-r--r-- 1 vc vc 692 May 26 13:01 known_hosts
-rw-r--r-- 1 vc vc 692 May 24 11:36 known_hosts.old
vc@vc:~/.ssh$ ssh-add -D
All identities removed.
vc@vc:~/.ssh$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/vc/.ssh/id_ecdsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/vc/.ssh/id_ecdsa
Your public key has been saved in /home/vc/.ssh/id_ecdsa.pub
The key fingerprint is:
SHA256:m/mKB47BoRYb3jrla3j/sUr+0DwFa0DiqI+IEpk7yno vc@vc
The key's randomart image is:
+---[ECDSA 256]---+
| . . |
| o o |
| . . . . |
| +o . . o |
|=. B . S . |
|o== = .+ = |
|B..= +o.O |
|+.E =o.o.= |
|+o +.o===.. |
+----[SHA256]-----+
vc@vc:~/.ssh$ ssh admin@10.1.1.1
******************************************************************************
* Copyright (c) 2004-2023 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
从客户端和交换机的调试日志可以看到,交换机确实接受了刚刚生成的密钥,这里贴出一部分日志:
debug1: Server accepts key: /home/vc/.ssh/id_ecdsa ECDSA SHA256:m/mKB47BoRYb3jrla3j/sUr+0DwFa0DiqI+IEpk7yno agent
%Jun 15 22:47:39:050 2025 coco SSHS/6/SSHS_AUTH_SUCCESS: SSH user admin from 10.1.3.1 port 56954 passed publickey authentication.
%Jun 15 22:47:40:126 2025 coco SSHS/6/SSHS_CONNECT: SSH user admin (IP: 10.1.3.1) connected to the server successfully.
%Jun 15 22:47:41:567 2025 coco SHELL/5/SHELL_LOGIN: admin logged in from 10.1.3.1.
其它方面也做了排除:
1. linux客户端这边,已经检查过日志,可以保证后面一次连接的时候,确实使用的是随机生成的密钥,而不是以前的vc密钥
2. 配置admin用户不assign publickey,确实也不能够登录了: ssh user admin service-type all authentication-type publickey
3. 将交换机上登记的vc密钥删除,则无论客户端使用任何密钥都无法连接了,重新加上,则使用任何ecdsa密钥都能够连接
4. 同样的方法两边配置一个rsa密钥,rsa密钥的行为则是正常的,使用其它的rsa密钥确实不能够登录
(0)
最佳答案
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论