arm交叉编译 sshd服务器让外界登陆。

2 篇文章 0 订阅
1 篇文章 0 订阅

 

转自:http://blog.sina.com.cn/s/blog_7f2a9a390100xws4.html

 

 

 

步骤:

1.下载源码包,地址如下:

openssh  http://www.openssh.com/portable.html
openssl  http://www.openssl.org/source
zlib     http://www.zlib.net/

2.交叉编译

创建工作目录:

#mkdir /work
#cd /work


在/work目下面创建ssh目录

# mkdir /work/ssh              -----〉工作目录
# cd  /work/ssh
# mkdir compressed install  -----〉compressed 用于存放源码包
                                   -----〉Install    软件安装目录
                                   -----〉Source    源码包解压目录
#mv tarpakgs/openssh-4.6p1.tar.gz   /work/ssh/compressed
#mv tarpakgs/openssl-0.9.8e.tar.gz  /work/ssh/compressed
#mv tarpakgs/zlib-1.2.3.tar.gz      /work/ssh/compressed

 

解压安装包:

# cd /work/ssh/
# tar zxvf zlib-1.2.3.tar.gz  -C  ../compressed
# tar zxvf openssl-0.9.8e.tar.gz  -C  ../compressed
# tar zxvf openssh-4.6p1.tar.gz  –C ../compressed

 

 

交叉编译 zlib:
# cd  /work/ssh/source/zlib-1.2.3
# ./configure --prefix=/work/ssh/install/zlib-1.2.3
# vim Makefile
CC=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

交叉编译openssl
# cd  /work/ssh/source/openssl-0.9.8e
# ./Configure --prefix=/work/ssh/install/openssl-0.9.8e  os/compiler:arm-none-linux-gnueabi-gcc
(x86_64) # ./config --cross-compile-prefix=x86_64-pc-linux-gnu- --prefix=/home/ssh/work/openssl --openssldir=/home/ssh/work/openssl

# make
# make install

交叉编译openssh
# cd  /work/ssh/source/ openssh-4.6p1
#./configure --host=arm-none-linux-gnueabi --with-libs --with-zlib=/work/ssh/install/zlib-1.2.3 --with-ssl-dir=/work/ssh/install/openssl-0.9.8e --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar
#make
注意:openssh不需要make install

 

3.操作目标板

 

3.1确保目标板上有以下目录,若没有,则新建:

/usr/local/etc/ 

/var/empty/

 

3.2从PC机上将以下文件拷贝到目标板Linux系统中

PC机 /work/ssh/source/openssh-4.6p1/ 目录下的

sshd_config拷贝到目标板 /usr/local/etc

sshd 拷贝到目标板

libz.so.1 拷贝到目标板 /lib/目录下

注意:sshd的启动必须使用绝对路径寻址

 

3.3生成Key文件
在PC机 /work/ssh/source/openssh-4.6p1/ 目录下运行:
ssh-keygen -t rsa -N ""

 

注意:ssh-keygen的生成路径也必须使用绝对路径寻址

3.4修改目标板passwd文件。
在/etc/passwd 中添加下面这一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

 

测试:

 

主机上:

#ssh root@192.168.0.34(开发板的ip)

 

自动登录(免密码,用户名)说明:

 

使用ssh-keygen将产生密钥对

将公钥导入到服务器的认证池:cat id_rsa.pub >> ~/.ssh/authorized_keys

将私钥导入到本机认证池:cat id_rsa >> .ssh/authorized_keys

本机使用:ssh root@192.168.0.34(开发板的ip)免密登录服务器

如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。

 

其他注意点:

 

不要使用新版文件,会编译不过

   建议使用旧版ssh: openssh从6.5版本开始,使用openssl 源码编译的时候,必须使用动态库(在openssh 6.4之前的版本中没这种情况);

新版的openssl的Comfigure无法设置os/compiler,需要使用旧版

解压文件命令很简单 :

.tar.gz     格式解压为          tar   -zxvf   xx.tar.gz

.tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2

.7z格式解压为  7z      x      xx.7z

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值