嵌入式Linux支持SSH协议——dropbear:Host key verification fa

2019-07-13 08:11发布

Dropbear是一个相对较小的SSH服务器和客户端。它运行在一个基于POSIX的各种平台。 Dropbear是开源软件,在麻省理工学院式的许可证。 Dropbear是特别有用的“嵌入”式的Linux(或其他Unix)系统,如无线路由器。(一个完整的openssh大小有7M左右)  参阅官网:https://matt.ucc.asn.au/dropbear/dropbear.html 准备 zlib-1.2.3.tar.gz 点击进入下载地址 dropbear-0.52.tar.gz 点击进入下载地址 1.交叉编译zlib-1.2.3.tar.gz 解压zlib-1.2.3.tar.gz,创建/usr/local/zlib目录; ./configure --prefix =/usr/local/zlib 修改Makefile CC=arm-linux-gcc AR=arm-linux-ar rc RANLIB=arm-linux-ranlib make;make install; 2.交叉编译dropbear-0.52.tar.gz 解压dropbear-0.52.tar.gz,创建/usr/local/dropbear; ./configure –prefix=/usr/local/dropbear –with-zlib=/usr/local/zlib/ CC=arm-linux-gcc –host=arm make; make scp; make install; cp scp /usr/local/dropbear/bin/ 3.移植到6410: 将/usr/local/dropbear/bin/和/usr/local/dropbear/sbin/下的文件都复制到板上/usr/sbin目录。 在板上生成server key: cd /etc mkdir dropbear cd dropbear dropbearkey -t rsa -f dropbear_rsa_host_key dropbearkey -t dss -f dropbear_dss_host_key 在启动脚本/etc/init.d/rcS中增加: /usr/sbin/dropbear   3.配置ssh: 在dev中创建pts目录:mkdir /dev/pts -p 在fstab文件中添加一段 none /dev/pts devpts defaults 0 0 #vi /etc/fstab none    /dev/pts devpts defaults        0       0 然后 mount -a 问题应该能够得到解决
修改root密码(如果无法修改请在/etc中添加passwd与group文件) pwsswd文件中如下 root:9.iWjoCN45yCg:0:0:Linux User,,,:/root/:/bin/sh 我这里测试goup文件空的也可以   或者: root状态下在板上输入命令添加用户michael和设置密码 //最好直接改root密码 adduser michael  注意:一定要有HOME目录,不然会登录失败 用putty连接就能连上去了~ 如果不行的话直接用root用户试试~
有时遇到的问题Host key verification failed失败如下:
[root@root linux-2.6.32-220.el6]# ssh root@192.168.100.110 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
f1:61:f8:ae:19:0a:5e:e4:38:eb:0b:ad:ff:0e:86:cb.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:2
RSA host key for 172.16.100.110 has changed and you have requested strict checking.
Host key verification failed. 原因: /root/.ssh/known_hosts列表有兼容 解决的办法是删除 /root/.ssh/*所有文件。 重新登入即可。 #ssh root@192.168.100.110 会提示输入yes/no?然后就成功了。当然如果想用winscp的话也可以,选择scp协议。 另外当使用scp时可能有问题: /usr/bin/dbclient: No such file or directory 这是因为我们把dbclient拷贝到/usr/sbin/目录下了。移动dbclient或者做一个软连接即可。 #mv /usr/sbin/dbclient /usr/bin/dbclient