SSH(网络安全协议)

发布时间 2023-04-19 22:47:43作者: 爱吃青椒不爱吃西红柿

SSH的安全机制

        SSH之所以能够保证安全,是由于它采用了非对称加密技术(RSA)加密了所有传输的数据。

传统的网络服务程序,如FTP、和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

SSH也并不是绝对安全的,因为它本身提供两种级别的验证方法:

第一种级别(基于口令的安全验证):

       只需帐号和密码,就可以登录到远程主机。所有传输的数据都会被加密,但不能保证正在连接的服务器就是想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。

第二种级别(基于密钥的安全验证):

       客户端必须为自己创建一对密钥,把公钥放在需要访问的服务器上。要连接SSH服务器时,客户端软件会向服务器发出请求,请求用密钥进行安全验证。服务器收到请求之后,先在该服务器上寻找这个客户端的公钥,然后把它和客户端发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

H3C SSH实验配置:

[R1]public-key local create rsa         (创建RSA密钥对)

[R1]ssh server enable                 (开启SSH服务)

[R1]user-interface vty 0 4              (设置允许同时在线的用户数为5个)
[R1-line-vty0-4]authentication-mode scheme       (设置验证用户类型为用户名和密码验证)
[R1-line-vty0-4]user-role level-15                   (设置用户登陆级别为level-15)
[R1-line-vty0-4]protocol inbound ssh                (设置终端接口登陆的协议为SSH)

[R1]local-user H3C class manage                 (创建用户H3C)
New local user added.
[R1-luser-manage-H3C]password simple 123456              (设置用户密码)
[R1-luser-manage-H3C]service-type ssh                         (设置服务类型为SSH)
[R1-luser-manage-H3C]authorization-attribute user-role level-15          (设置用户登陆权限为level-15)

华为 SSH实验配置:

[huawei] rsa local-key-pair create                      (创建RSA密钥对)

[huawei] aaa
[huawei-aaa] local-user huawei password cipher 123456      (设置用户名和密码)
[huawei-aaa] local-user huawei privilege level 15          (设置用户登陆权限为level-15)
[huawei-aaa] local-user huawei service-type ssh        (设置服务类型为SSH)

[huawei] user-interface vty 0 4                        (设置允许同时在线的用户数为5个)
[huawei-ui-vty0-4] authentication-mode aaa         (设置验证用户类型为aaa验证)
[huawei-ui-vty0-4] protocol inbound ssh              (设置终端接口登陆的协议为SSH)