首页
登录 | 注册

开发板安装SSH

本文转载自LINUX公社,另外经过自己测试并更改(红色标注部分),仅提供参考,编译工具链和内核需要根据自己的环境配置。

本例一mini2440为例,另外,经测试mpc8313的开发板也可以,就是不稳定,经常莫名其妙的中断,请高手指点迷津。

首先确定已经

开发板已与路由器相连,并进行了必要的网络配置,可以ping通本机

1. 下载需要的源码,直接google最新的版本吧

mkdir ~/work/fs ;mkdir -p ~/work/source

下载zlib: zlib-1.2.3.tar.gz

下载ssl :  openssl-0.9.8d.tar.gz(网上下载的好多0.9.8d的编译通不过,我下载的是0.9.8a) 

下载ssh : openssh-4.6p1.tar.gz

下载地址:http://www.everbox.com/f/BlGAvObkLX4rXPhrV9lLApn8Io    中的board-SSH.rar。解压后3个文件都有。这个是我自己做的下载地址,供大家下载,请放心使用。

2.  编译:

cd ~/work/source

(1) 编译zlib :

tar zxvf zlib-1.2.3.tar.gz -C .

cd zlib-1.2.3/

./configure –prefix=/root/work/fs/zlib-1.2.3

修改Makefile :

CC=gcc 改为:

CROSS=/usr/local/arm/4.3.2/bin/arm-linux -   ###这里的4.3.2依据自己的linux内核不同

CC= $ ( CROSS) gcc

LDSHARED= gcc 改为: LDSHARED= $ ( CROSS) gcc

CPP= gcc - E   改为 : CPP= $ ( CROSS) gcc - E

AR= ar rc     改为: AR= $ ( CROSS) ar rc

开始编译: make;

make install

(2)  编译openssl:

tar zxvf openssl- 0. 9. 8d.tar.gz

cd openssl-0.9.8d.tar.gz

. / Configure --prefix= /root/work/fs/openssl- 0. 9. 8d   os/compiler:/usr/local/arm/4.3.2/bin/arm- linux- gcc #####这是一行,没有回车。os/后没有空格,也就是说从os到gcc一直没有空格,网上好多版本在这里都是错的。

make

make install

(3) 编译openssh:

tar zxvf openssh-4.6p1.tar.gz

cd openssh-4.6p1/

./configure –host=arm-linux –with-libs –with-zlib=/root/work/fs/zlib-1.2.3

-with-ssl-dir=/root/work/fs/openssl-0.9.8d –disable-etc-default-login

CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc AR=/usr/local/arm/4.3.2/bin/arm-linux-ar

make

####不要make install


3. 安装

(1) 将 openssh-4.6p1目录下的 sshd 拷贝到 目标板的/usr/sbin目录下

(2) 再copy  scp  sftp  ssh ssh-add  ssh-agent  ssh-keygen  ssh-keyscan  到目标板/usr/local/bin 目录下
 

copy  sftp-server  ssh-keysign 到/usr/local/lib

(3) 在目标板下:

mkdir -p /usr/local/etc/

然后将openssh下的sshd_config , ssh_config 拷贝到该目录下

mkdir -p /var/run; mkdir -p /var/empty/sshd

chmod  755  /var/empty

(4)在主机上:

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 ""           ###一个都不能少

将生存的 ssh_host_* 6个文件copy到目标板的 /usr/local/etc/目录下

####Copy过来之后需要查看一下这几个文件的所有者,如果不是root需要修改所有者和所##在的组,chown

(5) 添加用户:

将主机上 /etc/ 目下的 passwd, shadow, group 三个文件copy到目标板的 /etc 目录下, 同时记得将passwd的最后 /bin/bash 该为 /bin/sh

###这一步以后,开发板上的用户结构与你本机的结构就是一样的了,所以在cp之前先把你自己的root密码设好

//###passwd设置root密码,然后在把上面3个文件cp到开发板/etc下

其实可以删除不需要的一些用户。

4.测试

目标板启动sshd:  # /usr/sbin/sshd             #########   必须运行是绝对地址才可以

//在开发板上运行这个命令的时候可能会提示

//Privilege separation user sshd does not exist

//需要在开发板的系统里adduser shhd

刚开始在编译ssh时候总是过不了,出现gcc配置问题,host文件缺少问题,等等,查阅很多资料,浪费很多时间,最后都是不细心,不了解很多细节。切忌。


本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-03/33769p2.htm


相关文章

  • 如何使用Putty登录安装在VirtualBox里的ubuntu
    那么如何用Putty连接安装在本地虚拟机里的ubuntu系统呢? sudo apt-get install openssh-server
  • 创建用户 1. 创建hadoop用户组 sudo  groupadd hadoop 2. 创建hadoop用户  sudo useradd -g hadoop hadoop 3. 给hadoop用户添加权限,打开/etc/sudoers文件 ...
  • 1.下载地址 http://hadoop.apache.org/releases.html 2.Hadoop的安装分为单机方式.伪分布式方式 和 完全分布式方式.         单机模式是Hadoop的默认模式.解压即可使用单机模式.   ...
  • 了解一下 Linux 上用于的 SSH 图形界面工具
    在你担任 Linux 管理员的职业生涯中,你会使用 Secure Shell(SSH)远程连接到 Linux 服务器或桌面.可能你曾经在某些情况下,会同时 SSH 连接到多个 Linux 服务器.实际上,SSH 可能是 Linux 工具箱中 ...
  • 1,安装docker toolbox,virtualbox 2,注册阿里docker加速器,提供一个加速地址 这一步不是必须,但是个人觉得还是有必要做一下.服务器在国外,你懂的. docker-machine create --engine ...
  • Hadoop入门:单节点模式安装
        Hadoop是Intel公司推出的一款分布式系统框架,可以用于多个系统的协同工作,主要原理使用了MapReduce框架,先将原始数据map到不同的部分,在分布式系统中处理完成后再重新reduce成为一个整体.Hadoop在云计算中可 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号