本帖最后由 527409667@qq.com 于 2017-8-10 10:36 编辑
开发板到手也有一段时间了,上电后发现板子上没有ssh,那么今天我们就来移植一下,方便以后开发。
这里使用4.6.2版本的gcc进行编译。不要使用4.9.2版本会出现-sh. Not found程序无法执行。
1、先现在需要的openssh源文件,openssh,openssl,zlib。地址连接:
openssh :
http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
openssl :
https://www.openssl.org/source/openssl-1.0.2l.tar.gz
zlib :
http://www.zlib.net/zlib-1.2.11.tar.gz
2、建立编译目录
mkdir /home/saber/Workspace/app/evb-p6ul/sshwork
将下载好文件放在该目录下面。
创建编译用到的库文件目录mkdir /home/saber/Workspace/app/evb-p6ul/sshwork/lib
添加交叉编译工具到环境变量
export PATH=$PATH:~/Workspace/toolchains/evb-p6ul/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/
3、编译zlib
解压zlib,然后进入解压好的目录。
./configure --prefix=/home/saber/Workspace/app/evb-p6ul/sshwork/lib
修改MakefileCC=arm-none-linux-gnueabi-gcc
AR=arm-none-linux-gnueabi-ar rc
CPP =arm-none-linux-gnueabi-gcc -E
LDSHARED=arm-none-linux-gnueabi-gcc
编译
$make
$make install
4、编译openssl
$ cd sshwork/openssl-1.0.2l/
$ ./Configure --prefix=~/Workspace/app/evb-p6ul/sshwork/openssl-1.0.2l os/compiler:arm-none-linux-gnueabi-gcc
$make
$make install5、编译openssh
$cd ~/Workspace/app/evb-p6ul/sshwork/openssh-7.5p1
$./configure --host=arm-none-linux-gnueabi --with-libs --with-zlib=~/Workspace/app/evb-p6ul/sshwork/lib/zlib-1.2.11 --with-ssl-dir=~/Workspace/app/evb-p6ul/sshwork/lib/openssl-1.0.2l --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar
$make5、接下来进行安装
创建目录
mkdir sshwork/install
mkdir sshwork/install/usr/local/bin
mkdir sshwork/install/usr/local/sbin
mkdir sshwork/install/usr/local/etc
mkdir sshwork/install/usr/local/libexec
从openssh-7.5p1目录下复制scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan到sshwork/usr/local/bin
moduli ssh_config sshd_config拷贝到 /usr/local/etc
sftp-server ssh-keysign 拷贝到 /usr/local/libexec
sshd 拷贝到 /usr/local/sbin/6、生成key文件
在/work/ssh/source/openssh-7.5p1/ 目录下运行:
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""
将生成的key复制到sshwork/install/usr/local/etc
7、将install里面的文件复制到开发板,相应目录下,并在etc/passwd中添加:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin(如果有无需在添加)
然后运行/usr/local/sbin/sshd开启ssh服务。
8、问题解决:
a、出现:
Permissions 0777 for '/etc/ssh/ssh_host_key' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_key
Could not load host key: /etc/ssh/ssh_host_key
解决
#chmod 600 sshd_config ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
#chmod 620 moduli
#chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
b、登录是出现密码失效,要求重新更改密码修改/etc/shadow文件:
root:JYFkAUsR29Q9w:15695:5:99999:7:5:20000:
sshd:!!:11851:5:99999:7:5:20000:
honey:$1$SwtHyL/h$MsEX6Vnqz/qhwDsivDqD20:15695:5:99999:7:5:20000:
接下来就可以使用root登录了!!!
本帖最后由 527409667@qq.com 于 2017-8-10 10:36 编辑
开发板到手也有一段时间了,上电后发现板子上没有ssh,那么今天我们就来移植一下,方便以后开发。
这里使用4.6.2版本的gcc进行编译。不要使用4.9.2版本会出现-sh. Not found程序无法执行。
1、先现在需要的openssh源文件,openssh,openssl,zlib。地址连接:
openssh :
http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
openssl :
https://www.openssl.org/source/openssl-1.0.2l.tar.gz
zlib :
http://www.zlib.net/zlib-1.2.11.tar.gz
2、建立编译目录
mkdir /home/saber/Workspace/app/evb-p6ul/sshwork
将下载好文件放在该目录下面。
创建编译用到的库文件目录mkdir /home/saber/Workspace/app/evb-p6ul/sshwork/lib
添加交叉编译工具到环境变量
export PATH=$PATH:~/Workspace/toolchains/evb-p6ul/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/
3、编译zlib
解压zlib,然后进入解压好的目录。
./configure --prefix=/home/saber/Workspace/app/evb-p6ul/sshwork/lib
修改MakefileCC=arm-none-linux-gnueabi-gcc
AR=arm-none-linux-gnueabi-ar rc
CPP =arm-none-linux-gnueabi-gcc -E
LDSHARED=arm-none-linux-gnueabi-gcc
编译
$make
$make install
4、编译openssl
$ cd sshwork/openssl-1.0.2l/
$ ./Configure --prefix=~/Workspace/app/evb-p6ul/sshwork/openssl-1.0.2l os/compiler:arm-none-linux-gnueabi-gcc
$make
$make install5、编译openssh
$cd ~/Workspace/app/evb-p6ul/sshwork/openssh-7.5p1
$./configure --host=arm-none-linux-gnueabi --with-libs --with-zlib=~/Workspace/app/evb-p6ul/sshwork/lib/zlib-1.2.11 --with-ssl-dir=~/Workspace/app/evb-p6ul/sshwork/lib/openssl-1.0.2l --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar
$make5、接下来进行安装
创建目录
mkdir sshwork/install
mkdir sshwork/install/usr/local/bin
mkdir sshwork/install/usr/local/sbin
mkdir sshwork/install/usr/local/etc
mkdir sshwork/install/usr/local/libexec
从openssh-7.5p1目录下复制scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan到sshwork/usr/local/bin
moduli ssh_config sshd_config拷贝到 /usr/local/etc
sftp-server ssh-keysign 拷贝到 /usr/local/libexec
sshd 拷贝到 /usr/local/sbin/6、生成key文件
在/work/ssh/source/openssh-7.5p1/ 目录下运行:
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""
将生成的key复制到sshwork/install/usr/local/etc
7、将install里面的文件复制到开发板,相应目录下,并在etc/passwd中添加:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin(如果有无需在添加)
然后运行/usr/local/sbin/sshd开启ssh服务。
8、问题解决:
a、出现:
Permissions 0777 for '/etc/ssh/ssh_host_key' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_key
Could not load host key: /etc/ssh/ssh_host_key
解决
#chmod 600 sshd_config ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
#chmod 620 moduli
#chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
b、登录是出现密码失效,要求重新更改密码修改/etc/shadow文件:
root:JYFkAUsR29Q9w:15695:5:99999:7:5:20000:
sshd:!!:11851:5:99999:7:5:20000:
honey:$1$SwtHyL/h$MsEX6Vnqz/qhwDsivDqD20:15695:5:99999:7:5:20000:
接下来就可以使用root登录了!!!