SSH以及Dropbear介绍
SSH
 1、什么是SSH
 (1)SSH仅仅是一种协议标准,目的是实现安全远程登录及安全网络服务。
 2、实现SSH的工具有哪些
 (1)开源OpenSSH,使用最广泛。
 (2)Dropbear,轻量级SSH。
 3、SSH可以实现的功能场景
 (1)安全远程登录
 (2)安全的端口转发
 ①本地端口转发
 ②远程端口转发
 ③动态端口转发(SOCKES代理)
 4、背景知识
 (1)对称加密
 加密解密使用同一份密钥
 安全特性:攻击者获得公钥后即可解密。
 (2)非对称加密
 使用公钥加密的数据只能使用私钥进行解密
 客户端拿到服务端公钥,使用该公钥对数据进行加密,将加密后的数据发送给服务端,服务端使用私钥进行解密。
 安全特性:公钥及加密后的数据泄漏,攻击者无法解密。如果攻击者拦截了客户端的请求,发送攻击者的公钥给客户端,攻击者可使用自己的私钥进行解密。
 (3)基于口令的认证
 在非对称加密基础上添加对服务端IP的提示,Client自己对公钥进行确认,确认通过后再输入密码认证。
 安全特性:规避非对称加密会话被拦截的情况,
 (4)基于公钥的认证
 客户端、服务端均存在公钥,先手动把客户端的公钥添加到服务端中。
 客户端发起认证后,服务端根据客户端的公钥加密生成的随机数
 客户端得到加密后的数据进行解密,然后跟SessionKey生成摘要1
 服务端使用随机数跟SessionKey生成摘要2,并与摘要1 比对,成功则认证成功
 5、SSH端口
 默认监听22端口
 6、SSH测试方法
Dropbear
 1、什么是Dropbear
 (1)Dropbear是一个轻量级SSH客户端和服务端
 2、Drop Bear交叉编译方法
 (1)编译过程
 ①./configure --prefix=$PWD/dropbear-2020.81/build/98525(生成文件目录) --host=arm CC=arm-ca9-linux-gnueabihf-gcc
 ‘ ②make && make install
 (2)编译过程遇到的问题
 ①部分编译链缺少zlib
 1)./configure 后添加–disable-zlib,会造成文件无法传输
 (3)移植过程中缺少的动态库
 ①编译链 arm-ca9-linux-gnueabihf-6.5
 1)libcrypt.so.1、libutil.so.1、libz.so.1
 解决方法:由驱动放进/lib目录下。
 3、编译后生成的文件
 |-- bin(客户端)
 | |-- dbclient(SSH2 客户端)
 | |-- dropbearconvert(转换openSSH密钥的工具)
 | -- dropbearkey(密钥生成器) |-- sbin(服务端) | – dropbear
 4、使用方法
 (1)开启安全远程登录
 ①服务端生成密钥
 ./dropbearkey -t rsa -f /mnt/cfg/nfsdir/dropbear/rsa_key
 ②启动服务,默认端口22
 ./dropbear -r /mnt/cfg/nfsdir/dropbear/rsa_key
 ③客户端使用命令登录
 ssh root@192.168.1.7
 (2)使用dbclient远程登录
 ./dbclient root@192.168.1.7
 (3)使用dbclient端口转发实现登录内网主机
 ①假设条件:内网Host 1通过SSH Client,可访问公网Host 2 SSH Service,不能返乡访问(远程端口转发)
 ②Host 1执行:
(4)常见问题
 ①登录时提示“服务器拒绝了密码”
 在服务端修改root密码后重新登录。命令:passwd root
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!