1、移植ssh
1、/home/arm 下新建目录 sshwork,并且将源码复制到该目录下,在/home/arm/sshwork 下新建目录 lib,用来保存生成的库文件。
mkdir /home/arm/sshwork
#cp zlib-1.2.3.tar.gz openssl-0.9.8d.tar.gz openssh-4.6p1.tar.gz /home/arm/sshwork
mkdir /home/arm/sshwork/lib
2、 编译 zlib
./configure -prefix=/home/arm/sshwork/lib/zlib-1.2.3
修改 Makefile :
CC=gcc 改为: CC=arm-linux-gcc
LDSHARED= gcc 改为: LDSHARED=arm-linux-gcc
CPP= gcc - E 改为: CPP=arm-linux-gcc - E
AR= ar rc 改为: AR=arm-linux-ar rc
编译安装:
make
make install
3、编译 openssl
./Configure --prefix=/home/arm/sshwork/lib/openssl-0.9.8d os/compiler:arm-linux-gcc
make
make install
4、 编译 openssh
./configure -host=arm-linux -with-libs -with-zlib=/home/arm/sshwork/lib/zlib-1.2.3-with-ssl-dir=/home/arm/sshwork/lib/openssl-0.9.8d -disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar
make
5、修改sshd_config
#PermitRootLogin yes 改为 PermitRootLogin yes
#UseDNS yes 改为 UseDNS no
6、拷贝文件(rootfs_ssh/ 文件系统根目录)
mkdir /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/sbin
mkdir /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/bin
mkdir /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/libexec
mkdir /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/etc
cp sshd /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/sbin
cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/bin
cp sftp-server ssh-keysign /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/libexec
cp sshd_config ssh_config /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/etc
7、在开发板上新建 sshd 工作目录:
mkdir -p /home/qlqcetc/nuc970bsp/rootfs_ssh/var/run
mkdir -p /home/qlqcetc/nuc970bsp/rootfs_ssh/var/empty/sshd
chmod 755 /home/qlqcetc/nuc970bsp/rootfs_ssh/var/empty
8、在主机 openssh-4.6p1 目录下生成密钥相关的文件:
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N “”
ssh-keygen -t rsa -f ssh_host_rsa_key -N “”
ssh-keygen -t dsa -f ssh_host_dsa_key -N “”
cp ssh_host_* /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/etc
chmod 0644 /home/qlqcetc/nuc970bsp/rootfs_ssh/usr/local/etc/*
chmod 0600 ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
9、在/etc/passwd 中添加下面这一行
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
10、测试:(先在开发板中更改root密码)
passwd root
mkdir /dev/pts
mount devpts /dev/pts -t devpts
/usr/sbin/sshd