概念
SSH全称安全外壳(Secure Shell)协议,这个协议的目的就是为了取代缺乏机密性保障的远程管理协议,SSH基于TCP协议的加密通道,让客户端使用服务器的RSA公钥来验证SSHv2服务器的身份。
创建密钥对
在充当SSH服务器的路由器上创建本地密钥对;本例中是AR1充当服务器,AR4充当客户端。
密钥对是一个公钥一个密钥,信息用公钥加密就用私钥解密,服务器会将公钥给客户端,客户端使用私钥加密数据之后,数据只能服务器的私钥才能解开,确保了数据安全性。

AR1\]rsa local-key-pair create The key name will be: Host % RSA keys defined for Host already exist. Confirm to replace them? (y/n)\[n\]:y The range of public key size is (512 \~ 2048). NOTES: If the key modulus is greater than 512, It will take a few minutes. Input the bits in the modulus\[default = 512\]:512 Generating keys... .............++++++++++++ .++++++++++++ ................................................................................ .................++++++++ .........++++++++
启用SSH服务器进程
路由器默认 SSH服务是没开启的,需要手动开启。
AR1\]stelnet server enable Info: Succeeded in starting the STELNET server.
修改VTY虚拟接口的入站协议
SSH协议支持的认证模式只有aaa
AR1\]user-interface vty 0 4 \[AR1-ui-vty0-4\]authentication-mode aaa # VTY接口允许接受的入站协议修改为SSH \[AR1-ui-vty0-4\]protocol inbound ssh
设置aaa参数
创建的用户名为user1,密码为huawei
AR1\]aaa \[AR1-aaa\]local-user user1 password cipher huawei Info: Add a new user. # 指定这个用户使用的协议,只能是ssh \[AR1-aaa\]local-user user1 service-type ssh
设置SSH的认证类型
AR1\]ssh user user1 authentication-type ? all All authentication, password or RSA password Password authentication password-rsa Both password and RSA rsa RSA authentication \[AR1\]ssh user user1 authentication-type password Authentication type setted, and will be in effect next time
AR4(client)访问AR1(Server)
尝试连接时系统提示错误同时要求管理员运行, "ssh client first-time enable" 才能开启首次访问功能,没有这条命令那么服务器发给客户端的公钥,客户端无法保存,所以这才命令在SSH客户端上必不可少。
AR4\]stelnet 192.168.28.1 Please input the username:user1 Trying 192.168.28.1 ... Press CTRL+K to abort Connected to 192.168.28.1 ... Error: Failed to verify the server's public key. Please run the command "ssh client first-time enable"to enable the first-time ac cess function and try again. # 会报错
启用SSH首次访问功能并连接SSH服务器
AR4\]ssh client first-time enable \[AR4\]stelnet 192.168.28.1 Please input the username:user1 Trying 192.168.28.1 ... Press CTRL+K to abort Connected to 192.168.28.1 ... The server is not authenticated. Continue to access it? (y/n)\[n\]:y Mar 28 2023 17:25:32-08:00 AR4 %%01SSH/4/CONTINUE_KEYEXCHANGE(l)\[0\]:The server h ad not been authenticated in the process of exchanging keys. When deciding wheth er to continue, the user chose Y. \[AR4
Save the server's public key? (y/n)[n]:y
The server's public key will be saved with the name 192.168.28.1. Please wait...
Mar 28 2023 17:25:34-08:00 AR4 %%01SSH/4/SAVE_PUBLICKEY(l)[1]:When deciding whet
her to save the server's public key 192.168.28.1, the user chose Y.
AR4
Enter password:
<AR1>
查看SSH状态、SSH访问情况
在服务器上查看SSH状态,显示SSH的版本,显示SSH的功能是否启用
AR1\] display ssh server status SSH version :1.99 SSH connection timeout :60 seconds SSH server key generating interval :0 hours SSH Authentication retries :3 times SFTP Server :Disable Stelnet server :Enable # 查看会话 \[AR1\] display ssh server session -------------------------------------------------------------------- Conn Ver Encry State Auth-type Username -------------------------------------------------------------------- VTY 1 2.0 AES run password user1 -------------------------------------------------------------------- \[AR1