华为交换机SSH使用RSA公钥免密登录配置

前几天研究了下SSH2通信的加密与认证过程,针对publickey认证方式,服务器端将公钥放入authorized_keys文件就可以了,但是交换机方面如何配置呢?So,今天主要说一下交换机是如何配置的。

在介绍之前提前提及一下后面会用到的几个工具:

1、ssh-keygen:openssh中认证秘钥生成、管理和装换的一个工具。

详情参见:http://man7.org/linux/man-pages/man1/ssh-keygen.1.html

2、egrep:相当于grep -E

grep详情参见:https://www.runoob.com/linux/linux-comm-grep.html


好啦,进入正题,大致分为两方面进行:

第一方面:客户端将公钥转换成16进制字符串

1. 为客户端生成秘钥对,默认存放位置 ~/.ssh/

ssh-keygen -t rsa -b 1024 -f yourkeyname -C “备注”

2. 将公钥转换成为16进制字符串形式

ssh-keygen -e -m pem -f 公钥存放的绝对路径 | egrep -v “BEGIN|END” | base64 -d | od -t x1 -An -w4 | tr ‘a-f’ ‘A-F’ | tr -d ‘ ‘ | fmt -w 48

注意:我一开始使用的自己的开发虚拟机,系统本身就很老,里面的openssh版本太老,ssh-keygen好多参数用不了,后来使用OpenSSH_7.4版本则可以支持。

第二方面:交换机配置rsa认证(使用的华为交换机:S5700-24TP-SI-AC)

1. 公钥导入交换机,命名rsa

rsa peer-public-key rsa

public-key-code begin

粘贴16进制公钥

public-key-code end

peer-public-key end

2. 创建aaa用户sshtest,密码hf123456,设置认证类型为ssh

aaa
local-user sshtest password cipher hf123456 privilege level 15
local-user sshtest service-type ssh
quit

3. 添加ssh用户及认证方式

ssh user sshtest authentication-type rsa
ssh user sshtest assign rsa-key rsa
ssh user sshtest service-type all

4. 配置vty界面支持的登录协议 并 开启服务

user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh  /* 这里 ssh或all都可以 */
quit

stelnet server enable
sftp server enable

5. ok,大功告成,下面给他家贴一个我测试的客户端连接成功图!


结语:

以上就是大致的配置过程,从配置中可以看出,除了单独的password和rsa方式外,还可以两种方式结合进行认证,等有时间了再试一下其他几种认证方式(#^.^#)!

最后结尾处贴出了我的调试信息结果图,等整理下代码,下次会把相关代码发上来。

—— 谢谢您的阅读,若文章内容有什么问题,欢迎指出,大家共同进步!

参考连接:

1. https://blog.csdn.net/qq_27860819/article/details/81568121

2. https://www.cnblogs.com/fatt/p/5822450.html

转自:https://blog.csdn.net/qq_21911403/article/details/104010891?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242

您可能还喜欢...