SSH移植
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移植的更多相关文章
- ssh 移植记录
利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...
- iTOP-IMX6UL 实战项目:ssh 服务器移植到 arm 开发板
实验环境:迅为提供的Ubuntu12.04.2 以及虚拟机 编译器:arm-2009q3 编译器 开发板系统:QT系统 开发板使用手册中给Windows 系统安装了 ssh 客户端,给 Ubunt ...
- iTOP-4412开发板-实战教程-ssh服务器移植到arm开发板
本文转自迅为开发板:http://www.topeetboard.com 在前面实战教程中,移植了“串口文件传输工具”,整个移植过程是比较简单的,而且我 们没有做任何协议方面的了解,只是“配置”+“编 ...
- 如何移植sshserver到嵌入式平台
ssh解释说明 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是较可靠,专 ...
- 关于 WinScp 的一点使用经验
在嵌入式平台下 是,使用SSH登陆,可以使用WinScp提供的图形界面,支持拖拽,鼠标直接打开,甚是好用. 使用WinScp 登陆的方式有,Scp和sftp两种,之前一只用scp,但后来出现了如下错误 ...
- 将 ssh (security shell) 移植到 vxworks
openssh 依赖 openssl,这两个东西主要针对posix系统,移植到 vxworks 等实时系统有相当的难度. 可以考虑移植如下的库(ssh server): dropbear: https ...
- 【转载】嵌入式 Linux 移植 Dropbear SSH server
0. 背景 OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中. Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种 ...
- Arm-Linux 移植 ssh
背景: 自己拥有一块开发板,但是苦于上面没有ssh,比较不方便.正好趁这个机会,移植ssh.我们使用的ssh是openssh. host平台 :Ubuntu 18.04 arm平台 : S5P6818 ...
- 2017-9-15-Linux移植:WinSCP软件 & SSH Server开启
在Linux电脑上面安装了TFTP server,但是各种不给力,决定寻找其他办法在Windows和Linux之间传输文件. WinSCP 是一个 Windows 环境下使用 SSH 的开源图形化 S ...
随机推荐
- zc.buildout构建项目时报错‘AttributeError: '_NamespacePath' object has no attribute 'sort'’
在使用zc.buildout构建项目时如果碰到‘AttributeError: '_NamespacePath' object has no attribute 'sort'’报错: An inter ...
- 【算法】最长回文子串 longest palindrome substring
对于字符串S, 要找到它最长的回文子串,能想到的最暴力方法,应该是对于每个元素i-th都向左向右对称搜索,最后用一个数组span 记录下相对应元素i-th为中心的回文子串长度. 那么问题来了: 1. ...
- How To Build Kubernetes Platform (构建Kubernetes平台方案参考)
Architecture Architecture Diagram Non-Prod Environment Prod Environment Cluster Networking Container ...
- SQLite – LIMIT子句
SQLite - LIMIT子句 SQLite LIMIT子句是用来限制SELECT语句返回的数据量. 语法: SELECT语句.LIMIT子句的基本语法如下: SELECT column1, col ...
- (转)使用Spring配置文件实现事务管理
http://blog.csdn.net/yerenyuan_pku/article/details/52886207 前面我们讲解了使用Spring注解方式来管理事务,现在我们就来学习使用Sprin ...
- IOS学习笔记1—Iphone程序运行流程
Iphone程序运行流程 main.m文件,iOS应用程序的主入口 main函数的两个参数为命令行参数,在ios开发中不会用到这些元素,包括这两个参数是为了与标准ANSI C保持一致 UIApplic ...
- 条款14:在资源管理类中心copying行为(Think carefully about copying behavior in resource-manage classes)
NOTE: 1.复制RAII 对象必须一并赋值它所管理的资源,所以资源的copying行为决定RAII对象的copying行为. 2.普遍而常见的RAII class copying 行为是: 抑制c ...
- Python 2 和 Python 3 主要区别有哪些(1)
Guido(Python之父,仁慈的独裁者)在设计 Python3 的过程中,受一篇文章 “Python warts” 的影响,决定不向后兼容,否则无法修复大多数缺陷.---摘录自<流畅的Pyt ...
- Centos 7安装Mysql5.7
1.下载(国内镜像,比搜狐的快一点):http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc ...
- MyISAM和InnoDB索引实现对比
MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址.如图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引 ...