本帖最后由 zc123 于 2020-5-3 10:15 编辑
下面如何从openssh的源码编译到能够执行的程序,编译需要- openssl-1.0.2s.tar.gz
- zlib-1.2.11.tar.gz
- openssh-8.0p1.tar.gz
复制代码 1. 创建编译环境
选择指定文件夹,如我选择的/usr/code/ssh中(这个路径后续需要用,如果你选择其它路径,后面相应要修改)
- cd /usr/code/ssh
- mkdir openssl.install
- mkdir zlib.install
复制代码 用于存放编译后的文件
使用如下指令解压压缩包到/usr/code/ssh中
- tar –zxvf openssh-8.0p1.tar.gz
复制代码
2.编译zlib固件
使用指令
- ./configure --prefix=/usr/code/ssh/zlib.install
复制代码 生成Makefile
使用
vim Makefile
增加和修改如下内容- CFLAG=arm-none-linux-gnueabi-
- CC=$(CFLAG)gcc
- LDSHARED=$(CFLAG)gcc –shared……
- CPP=$(CFLAG)gcc
- AR= $(CFLAG)ar
复制代码如果不知道如何修改,可以使用附件的Makefile, 使用 编译完成 编译成功可以在/usr/code/ssh/zlib.install下看到3个文件夹,其中libz.so.1.2.11就是在其中的lib路径下。
3.编译openssl固件 cd openssl-1.0.2s/
使用指令
- ./Configure --prefix=/usr/code/ssh/openssl.install os/compiler:arm-linux-gnueabihf-gcc
复制代码 执行指令编译后即可查看/usr/code/ssh/openssl.install下看到4个文件夹,即openssl的支持的库路径
4.编译openssh固件
cd openssh-8.0p1
使用指令
- ./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/usr/code/ssh/zlib.install --with-ssl-dir=/usr/code/ssh/openssl.install --disable-etc-default-login CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar --without-hardening
复制代码 执行指令
等待编译完成即可生成编译后需要的ssh文件,不过注意此时sshd_config文件需要修改才能满足远程访问,具体修改可参考我提供的sshd_config文件
|