1. 下载需要的源码,直接google最新的版本吧 mkdir -p ~/arm/fs ;mkdir -p ~/arm/source 下载zlib: zlib-1.2.3.tar.gz 下载ssl : openssl-0.9.8d.tar.gz 下载ssh : openssh-4.6p1.tar.gz

2. 编译:

cd ~/arm/source

(1) 编译zlib : tar zxvf zlib-1.2.3.tar.gz -C . cd zlib-1.2.3/ ./configure --prefix=/home/itlanger/arm/fs/zlib-1.2.3

修改Makefile : CC=gcc 改为: CROSS=/usr/local/arm/3.4.1/bin/arm-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 ./configure --prefix=/home/itlanger/arm/fs/openssl-0.9.8d os/compiler:/usr/local/arm/3.4.1/bin/arm-linux-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=/home/itlanger/arm/fs/zlib-1.2.3 --with-ssl-dir=/home/itlanger/arm/fs/openssl-0.9.8d --disable-etc-default-login CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc AR=/usr/local/arm/3.4.1/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/libexec

(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 -q -t rsa1 -f ssh_host_key -C '' -N '' ssh-keygen -q -t rsa -f ssh_host_rsa_key -C '' -N '' ssh-keygen -q -t dsa -f ssh_host_dsa_key -C '' -N '' 目标机上 chmod 600 ssh_host_rsa1_key chmod 644 ssh_host_rsa1_key.pub chmod 600 ssh_host_rsa_key chmod 644 ssh_host_rsa_key.pub chmod 600 ssh_host_dsa_key chmod 644 ssh_host_dsa_key.pub 将生存的 ssh_host_* 4个文件copy到目标板的 /usr/local/etc/目录下 (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 //或者在 /etc/passwd 中添加下面这一行

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

主机: $ ssh root@192.168.0.34(开发板的ip) //root密码就是你本机上root的密码

移植完成了    目标板启动sshd: # /usr/sbin/sshd      主机: $ ssh -v root@192.168.0.34 但是有点问题会报一大堆错,高手告诉我要删掉 /root/.ssh/known_hosts

SSH移植的更多相关文章

  1. ssh 移植记录

    利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...

  2. iTOP-IMX6UL 实战项目:ssh 服务器移植到 arm 开发板

    实验环境:迅为提供的Ubuntu12.04.2 以及虚拟机 编译器:arm-2009q3 编译器 开发板系统:QT系统   开发板使用手册中给Windows 系统安装了 ssh 客户端,给 Ubunt ...

  3. iTOP-4412开发板-实战教程-ssh服务器移植到arm开发板

    本文转自迅为开发板:http://www.topeetboard.com 在前面实战教程中,移植了“串口文件传输工具”,整个移植过程是比较简单的,而且我 们没有做任何协议方面的了解,只是“配置”+“编 ...

  4. 如何移植sshserver到嵌入式平台

    ssh解释说明 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是较可靠,专 ...

  5. 关于 WinScp 的一点使用经验

    在嵌入式平台下 是,使用SSH登陆,可以使用WinScp提供的图形界面,支持拖拽,鼠标直接打开,甚是好用. 使用WinScp 登陆的方式有,Scp和sftp两种,之前一只用scp,但后来出现了如下错误 ...

  6. 将 ssh (security shell) 移植到 vxworks

    openssh 依赖 openssl,这两个东西主要针对posix系统,移植到 vxworks 等实时系统有相当的难度. 可以考虑移植如下的库(ssh server): dropbear: https ...

  7. 【转载】嵌入式 Linux 移植 Dropbear SSH server

    0. 背景  OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中.  Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种 ...

  8. Arm-Linux 移植 ssh

    背景: 自己拥有一块开发板,但是苦于上面没有ssh,比较不方便.正好趁这个机会,移植ssh.我们使用的ssh是openssh. host平台 :Ubuntu 18.04 arm平台 : S5P6818 ...

  9. 2017-9-15-Linux移植:WinSCP软件 & SSH Server开启

    在Linux电脑上面安装了TFTP server,但是各种不给力,决定寻找其他办法在Windows和Linux之间传输文件. WinSCP 是一个 Windows 环境下使用 SSH 的开源图形化 S ...

随机推荐

  1. zc.buildout构建项目时报错‘AttributeError: '_NamespacePath' object has no attribute 'sort'’

    在使用zc.buildout构建项目时如果碰到‘AttributeError: '_NamespacePath' object has no attribute 'sort'’报错: An inter ...

  2. 【算法】最长回文子串 longest palindrome substring

    对于字符串S, 要找到它最长的回文子串,能想到的最暴力方法,应该是对于每个元素i-th都向左向右对称搜索,最后用一个数组span 记录下相对应元素i-th为中心的回文子串长度. 那么问题来了: 1. ...

  3. How To Build Kubernetes Platform (构建Kubernetes平台方案参考)

    Architecture Architecture Diagram Non-Prod Environment Prod Environment Cluster Networking Container ...

  4. SQLite – LIMIT子句

    SQLite - LIMIT子句 SQLite LIMIT子句是用来限制SELECT语句返回的数据量. 语法: SELECT语句.LIMIT子句的基本语法如下: SELECT column1, col ...

  5. (转)使用Spring配置文件实现事务管理

    http://blog.csdn.net/yerenyuan_pku/article/details/52886207 前面我们讲解了使用Spring注解方式来管理事务,现在我们就来学习使用Sprin ...

  6. IOS学习笔记1—Iphone程序运行流程

    Iphone程序运行流程 main.m文件,iOS应用程序的主入口 main函数的两个参数为命令行参数,在ios开发中不会用到这些元素,包括这两个参数是为了与标准ANSI C保持一致 UIApplic ...

  7. 条款14:在资源管理类中心copying行为(Think carefully about copying behavior in resource-manage classes)

    NOTE: 1.复制RAII 对象必须一并赋值它所管理的资源,所以资源的copying行为决定RAII对象的copying行为. 2.普遍而常见的RAII class copying 行为是: 抑制c ...

  8. Python 2 和 Python 3 主要区别有哪些(1)

    Guido(Python之父,仁慈的独裁者)在设计 Python3 的过程中,受一篇文章 “Python warts” 的影响,决定不向后兼容,否则无法修复大多数缺陷.---摘录自<流畅的Pyt ...

  9. Centos 7安装Mysql5.7

    1.下载(国内镜像,比搜狐的快一点):http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc ...

  10. MyISAM和InnoDB索引实现对比

    MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址.如图:  这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引 ...