微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 移植SSH到ARM Linux开发板成功

移植SSH到ARM Linux开发板成功

时间:11-26 来源:互联网 点击:

cannot find -lgcc_s,即没有发现-libgcc_s.so。

解决办法:
可能一解决:查找/root/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/lib目录,如果有libgcc_s.so.1,做一个链接:ln -s libgcc_s.so.1 libgcc_s.so,重新make,此问题可以解决。如果再出现以下问题:

同理,其他的问题,也在/arm-none-linux-gnueabi/libc/lib目录下,

问题:cannot find /lib/libc.so.6 inside,解决:ln -s libc-2.5.so libc.so.6

问题:cannot find /lib/ld-linux.so.3inside,解决:ln -s ld-2.5.sold-linux.so.3

4.用nfs从主机复制到目标板时出现:
cp: omitting directory /etc/boa
等错误。

问题分析:权限不够,或者目标板中等/usr/local/etc已经有文件。
解决办法:在cp命令后加-r参数,如:cp -r /etc/* /usr/local/etc/

5.运行sshd时出现:
Could not load host key: /usr/local/etc/ssh_host_dsa_key
Could not load host key: /usr/local/etc/ssh_host_ecdsa_key

问题解析:在/usr/local/etc目录中没有相应等key。
解决办法:按照操作步骤,运行:
ssh-keygen -t dsa -f ssh_host_das_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdas_key -N ""
生成ssh_host_das_key 和ssh_host_ecdas_key后复制到目标板/usr/local/etc/目录下。

6.从nfs复制key文件到usr/local/etc时出现:
cp: cant open ssh_host_dsa_key: Permission denied

问题分析:目标板复制权限不够。
解决办法:在主机中修改他们等权限为777,命令:chmod 777 *。然后再复制。

7.Privilege separation user sshd does not exist
//需要在开发板的系统里adduser shhd
//或者在/etc/passwd 中添加下面这一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

8.Permissions 0755 for /usr/local/etc/ssh_host_dsa_key are too open.
//则把目标板/usr/local/etc/下的ssh_host_*几个文件的权限改为700。如果出现权限不够问题,用su - root进入root用户再改。
命令:#chmod 700 ssh_host_*

9.Permission denied (publickey,password,keyboard-interactive).
//打开开发板/usr/local/sshd_config,将PermitRootLogin yes前的注释“#”号去掉。

10.configure配置openssh的时候出错:
configure: error: *** zlib missing - please install first or check config.log ***
问题分析:没有找到zlib。
问题解决:重新交叉编译zlib,再configure即可。

11.以下两个函数没找到:
/home/arm/ssh-omap/source/openssh-5.8p2/ssh-keygen.c:1410: undefined reference to `pkcs11_init
/home/arm/ssh-omap/source/openssh-5.8p2/ssh-keygen.c:1493: undefined reference to `pkcs11_terminate

问题解决:
打开ssh-keygen.c:vi ssh-keygen.c
屏蔽这1410和1493这两行函数。

12.开启sshd后,没有找到sftp-server服务。如DS-5软件在连接时就出现以下错误,虽然还可以用终端,不过不能传输文件,还是很不爽的:

Failed to connect SFTP subsystem: Remote host may not have sftp-server installed : java.io.IOException: inputstream is closed

问题分析:明显的,这是没有找到sftp子服务。

问题解决:打开/usr/local/etc/sshd_config,找到这么一行:

Subsystem sftp /usr/libexec/sftp-server

看出问题了吧?配置文件中指明的sftp子服务并不是我们放的目录,所以修改为:

Subsystem sftp /usr/local/libexec/sftp-server

然后kill掉sshd,再启动就可以用sftp-server了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top