ARM移植openssh

通过ssh-keygen生成秘钥:
1.不能在目标机上操作(cpu占用率爆满),会导致abort。
2.在windows下通过git bash执行ssh-keygen时,没有rsa1类型,所以密钥生成可以直接都在宿主机上完成。

参考:
https://www.linuxidc.com/Linux/2011-05/35686.htm(教程1)
https://blog.csdn.net/ke123456le/article/details/39316607(教程2)
https://blog.csdn.net/y010902100449/article/details/50343733(教程3)

依赖:openssh、openssl、zlib
Zlib(version:1.2.11):
没什么问题,编译后安装到/home/cust/zlib_arm目录下。

Openssl(version:0.9.8):

  1. 用之前编译ntp时用到的openssl-1.1.0版本时,会出现如下错误:

版本不匹配错误
2. openssl要用0.9.8版本,在make install openssl时会提示POD之类的错误,目前的解决方法是删掉(重命名)/usr/bin/pod2man文件!
参考:https://blog.csdn.net/freeman1975/article/details/51475249(之方法2)
3. 安装到/home/cust/openssl-0.9.8_arm目录下。
4. 将lib目录下的libcrypto.so和libcrypto.so.0.9.8复制到目标板。
Openssh(version:6.6p1):

  1. Openssh配置命令:
    openssh配置命令
    2.在执行完这部分操作后,empty目录的拥有者可能不是root,在运行sshd时会提示出错,所以将第二行命令放在最后一条命令之后执行。
    截选
    3.其他创建文件夹部分,参考教程1.
    4.将libcrypto库文件复制到/lib目录下。
    注:
    1.sshd需要以绝对路径运行.
    2.私钥的权限要设为600,否则sshd报错权限问题!(教程3)私钥的权限要设为600,否则sshd报错权限问题!(教程3)
    3.因为/usr/local文件夹是/root/local文件夹的软连接,所以除了/var目录下的几个文件夹需要每次上电后新建,其他不用,所以在sshd的启动脚本里进行判断,如果相应的文件夹缺少则新建,最后执行sshd程序。
    4.其实移植openssh的第一初衷是移植vsftpd,奈何到最后还是没搞定。。。但是目前也实现了和vsftpd一样的效果,在此将方法记下,以备后需:
    [都依赖sshd服务][都在windows环境下]
    方式1:
    安装gitforwindows,借助其自带的mingw命令工具中的scp功能,实现单个文件上传/下载(每次都要写一长串命令还得输密码。。。估计可以通过公钥实现免输密码);保底。
    方式2:
    安装winscp软件,可实现类似于cuteFTP的功能,非常明了、方便;但是连接时可能需要多试几次,暂时不清楚是测试环境局域网的问题还是其他原因?(经测试,开启VPN状态下,也可正常连接到远程服务器!)
    5.关于libcrypto.so版本
    sshd只需要libcrypto.so.0.9.8
    ntpdate只需要libcrypto.so.1.1
    经测试,暂时都不需要libcrypto.so和libssl.so及libssl.so.x.x文件

猜你喜欢

转载自blog.csdn.net/yanlutian/article/details/82971024