我有一台 Ubuntu 虚拟机(服务器)连接到 Cisco 路由器,我正尝试与该设备建立 SSH 会话。它们是背对背连接的,因此它们之间没有其他网络元素。我可以从此 Ubuntu VM 与其他 VM 建立 SSH 会话,因为 Ubuntu VM 中启用了 OpenSSH。
在路由器端,生成了 2048 位(RSA)加密密钥
状态如下:
*R1#sh ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8PJx8zmO411wIoin0nieU1cAviDhjImhObA3WaOVp
jh/O6UKiICMNWwmCgAxdZXa70deVOd9UKaR4HVxoUauMBFUFUv+IQvkBoc3VKcN3g47+Ac9U/ytd8zUI
EL4wGTHfQoPZBvF5A3iwnIHM2TFJVZt9eRLEthST/sTB+E9j2n1PT0C0js0gRNVw79ZyUA8aR2CZI5I+
sGd7mqBYdgqePL5H/tUeVTg/I2gXJ6xv7yrN904utRyAT+IieQIh6pWALIRmEl7NVyn/E6OvdUaeRfqM
TsD956uJkA2MTLrQ+VJBVoCNOHk/PujzqCYg+sod1QgSZZQW7bhpLkP7bUSt*
当我尝试使用以下命令从虚拟机访问路由器时:
root@Ubuntu-VM:~/.ssh# ssh [email protected]
我收到以下消息:
Unable to negotiate with 10.1.1.1 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
在路由器控制台上,我得到以下输出:
%SSH-3-NO_MATCH: No matching cipher found: client [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] server aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
在两种情况下,No matching cipher found
都会显示消息;但是,我不知道问题出在哪一边。
任何建议将不胜感激。
答案1
只需添加-c
其中一个受支持的密码 (aes128-cbc、3des-cbc、aes192-cbc、aes256-cbc) 的参数即可:
ssh -c aes256-cbc [email protected]
答案2
问题出在/etc/ssh/ssh_config
文件中,因为 Ubuntu 18.04 默认禁用密码。一旦我删除注释符号 ( #
),我就可以毫无问题地登录路由器。