赞
踩
前几天研究了下SSH2通信的加密与认证过程,针对publickey认证方式,服务器端将公钥放入authorized_keys文件就可以了,但是交换机方面如何配置呢?So,今天主要说一下交换机是如何配置的。
在介绍之前提前提及一下后面会用到的几个工具:
1、ssh-keygen:openssh中认证秘钥生成、管理和装换的一个工具。
详情参见:ssh-keygen(1) - Linux manual page
2、egrep:相当于grep -E
grep详情参见:Linux grep 命令 | 菜鸟教程
好啦,进入正题,大致分为两方面进行:
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版本则可以支持。
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方式外,还可以两种方式结合进行认证,等有时间了再试一下其他几种认证方式(#^.^#)!
最后结尾处贴出了我的调试信息结果图,等整理下代码,下次会把相关代码发上来。
------ 谢谢您的阅读,若文章内容有什么问题,欢迎指出,大家共同进步!
参考连接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。