关闭

sshd移植

标签: sshpreprocessorcompilerlinkersolarisrandom
2146人阅读 评论(0) 收藏 举报
分类:

写在前面:单独移植openssh,只能实现开发板连接PC,而在PC需要登录开发板是不行的。sshd的运行需要openssl和zlib的库依赖。

交叉编译

在/home/ruby/work目下面创建ssh目录

# mkdir /work/lib            ----〉共享库目录,通过nfs挂载

# mkdir /work/ssh           -----〉工作目录

# cd  /work/ssh

# mkdir compressed install source  -----〉compressed 用于存放源码包

                                    Install    软件安装目录

                                    Source    源码包解压目录

#mv tarpakgs/openssh-5.1p1.tar.gz  /work/ssh/compressed

#mv tarpakgs/openssl-0.9.8e.tar.gz  /work/ssh/compressed

#mv tarpakgs/zlib-1.2.3.tar.tar        /work/ssh/compressed
*********交叉编译 zlib

# cd /home/ruby/work/ssh/compressed/

# tar xvf zlib-1.2.3.tar.tar  -C  ../source

# cd ../source/zlib-1.2.3

# ./configure --prefix=/work/ssh/install/zlib-1.2.3

# vim Makefile

CC=mipsel-linux-gcc

AR=mipsel-linux-ar rc

CPP =mipsel-linux-gcc -E

LDSHARED=mipsel-linux-gcc
然后 make
    make install
***********交叉编译openssl

# cd /work/ssh/compressed/

# tar zxvf openssl-0.9.8e.tar.gz  -C  ../source

# cd ../source/openssl-0.9.8e

./Configure --prefix=/home/ruby/work/ssh/install/openssl-0.9.8e os/compiler:mipsel-linux-gcc
然后make
   make install
***********交叉编译openssh

# cd /work/ssh/compressed

# tar zxvf openssh-4.6p1.tar.gz  –C ../source

# cd ../source/ openssh-4.6p1

./configure --host=mipsel-linux --with-libs --with-zlib=/home/ruby/work/ssh/install/zlib-1.2.3/ --with-ssl-dir=/home/ruby/work/ssh/install/openssl-0.9.8e --disable-etc-default-login CC=mipsel-linux-gcc AR=mipsel-linux-ar

执行完毕后,会打印出以下信息:

OpenSSH has been configured with the following options:
                     User binaries: /usr/local/bin
                   System binaries: /usr/local/sbin
               Configuration files: /usr/local/etc
                   Askpass program: /usr/local/libexec/ssh-askpass
                      Manual pages: /usr/local/share/man/manX
                          PID file: /var/run
  Privilege separation chroot path: /var/empty
  sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
                    Manpage format: doc
                       PAM support: no
                   OSF SIA support: no
                 KerberosV support: no
                   SELinux support: no
                 Smartcard support: no
                     S/KEY support: no
              TCP Wrappers support: no
              MD5 password support: no
                   libedit support: no
  Solaris process contract support: no
       IP address in $DISPLAY hack: no
           Translate v4 in v6 hack: yes
                  BSD Auth support: no
              Random number source: OpenSSL internal ONLY

    Host: mipsel-unknown-linux-gnu
    Compiler: mipsel-linux-gcc
    Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -fno-builtin-memset -std=gnu99
Preprocessor flags: -I/home/ruby/work/ssh/install/openssl-0.9.8e/include -I/home/ruby/work/ssh/install/zlib-1.2.3//include
      Linker flags: -L/home/ruby/work/ssh/install/openssl-0.9.8e/lib -L/home/ruby/work/ssh/install/zlib-1.2.3//lib
      Libraries: -lresolv -lcrypto -lutil -lz -lnsl  -lcrypt

然后 make  不要make install

然后mipsel-linux-strip -s sshd    这个操作可以将sshd变小。
#把sshd复制到目标板的根文件系统的/usr/sbin
#cp sshd /nfsroot/rootfs/usr/sbin

建立密钥:
ssh-keygen -t rsa1 -f ssh_host_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

建立文件夹/usr/local/etc/。然后把openssh目录下的sshd_config拷贝到该文件夹下面

cp scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan /nfsroot/rootfs/usr/local/bin
cp moduli  ssh_config  sshd_config  ssh_host_dsa_key  ssh_host_dsa_key.pub  ssh_host_key  ssh_host_key.pub  ssh_host_rsa_key  ssh_host_rsa_key.pub  /nfsroot/rootfs/usr/local/etc

# cp sftp-server  ssh-keysign   /nfsroot/rootfs/usr/local/libexec

# cp sshd   /nfsroot/rootfs/usr/local/sbin

·建立目录/var/run /var/empty/sshd,并设定权限chmod 755 /var/empty

修改  /usr/local/etc    sshd_config文件如下选项:

PermitRootLogin    yes―――――允许根用户登陆

PermitEmptyPasswords yes――――允许使用空密码

UsePrivilegeSeparation   no――――把安全级别降低,因为不会连接互联网

好了 ,现在可以运行  /usr/local/sbin/sshd
在PC可以连接开发板了
ssh root@192.168.4.128
done!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:342862次
    • 积分:3131
    • 等级:
    • 排名:第10980名
    • 原创:30篇
    • 转载:80篇
    • 译文:0篇
    • 评论:28条
    最新评论