下载源码包:

openssh ​​http://www.openssh.com/portable.html​

openssl ​​http://www.openssl.org/source​

zlib    ​​http://www.zlib.net/​

推荐版本:zlib-1.2.11.tar.gz,openssl-1.0.2q.tar.gz,openssh-8.2p1.tar.gz

mkdir compressed install source

compressed 用于存放源码包

install    软件安装目录

source     源码包解压目录

cd zlib

prefix=~/work/ssh/install/zlib CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar ./configure

vim Makefile

CC=arm-himix410-linux-gcc

CPP=arm-himix410-linux-g++

AR=arm-himix410-linux-ar

make

make install

cd openssl

./Configure --prefix=~/work/ssh/install/openssl os/compiler:arm-himix410-linux-gcc -fPIC no-asm shared

make CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar

make install

cd openssh

./configure --host=arm-himix410-linux --with-libs --with-zlib=~/work/ssh/install/zlib --with-ssl-dir=~/work/ssh/install/openssl --disable-etc-default-login CC=arm-himix410-linux-gcc AR=arm-himix410-linux-ar

make


操作目标板:

确保目标板有以下目录,如果没有则新建:

/usr/local/bin

/usr/local/etc

/usr/local/libexec

/var/run

/var/empty/sshd

chown -R root.root /var/empty/sshd

chmod 744 /var/empty/sshd

将 openssh 目录下文件拷贝到开发板系统中,具体为:

scp、sftp、ssh 、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan 共7个文件拷贝到开发板 /usr/local/bin

moduli、ssh_config、sshd_config 共3个文件拷贝到开发板 /usr/local/etc

sftp-server、ssh-keysign 共2个文件拷贝到开发板 /usr/local/libexec

sshd 拷贝到 /usr/sbin

chmod 777 /usr/sbin/sshd

libz.so.1.2.11 拷贝到开发板 /lib (必须放在/lib下,不然scp会找不到这个库)

然后建立软链接:

ln -s libz.so.1.2.11 libz.so.1

生成key文件:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""

将生成的 ssh_host_rsa_key 、 ssh_host_dsa_key 和 ssh_host_ecdsa_key 拷贝到 /usr/local/etc

chmod 600 ssh_host_*

#如果开发板需要 ssh_host_key 的话,执行:

#ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""

如果出现 privilege separation user sshd 问题:

在 /etc/passwd 增加以下:

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

或者修改 /etc/ssh/sshd_config (这会降低ssh的安全性):

UsePrivilegeSeparation yes 改成 UsePrivilegeSeparation no

测试:

/usr/sbin/sshd

用 ps ax 查看 sshd 是否运行

ssh root登录:

修改 sshd_config

PermitRootLogin yes

StrictModes yes

PermitEmptyPasswords yes

修改 ssh_config

StrictHostKeyChecking no

重启系统 reboot

设置ssh开机自启动:

在/etc/init.d/S90app

添加:/usr/sbin/sshd


作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处