openssh移植

  • 开发板:freescale mpc8247
  • 宿主机操作系统:ubuntu 14.04
  • 开发板操作系统:linux 2.6.25

参考博客:

向嵌入式linux开发板移植openSSH_SiberiaBear的专栏-CSDN博客

通过修改配置文件,手动创建一个Linux可登陆账户_XiChuan的博客-CSDN博客_登录配置文件linux

openssh下载地址:Index of /pub/OpenBSD/OpenSSH/portable/

这里还需要用到openssl库,由于板子中本来已经有openssl库,因此直接只用就可以。

使用的版本是openssh-6.0p1.tar.gz

1、下载openssh-6.0ptar.gz

2、在交换机源码目录执行. setenv_mpc8247

3、解压tar –xzvf openssh-6.0p1.tar.gz

4、给权限chmod -R 777 openssh-6.0p1

5、进入openssh-6.0p1文件夹,cd openssh-6.0p1

6、执行./configure --host=powerpc-linux-gnu --prefix=/usr/local/openssh --disable-zlib --with-ssl-dir=/home/share/JewinH/SVN/SwitchSoftware/Application/freescale/usr/local/gcc-4.2.82-eglibc-2.5.82/powerpc-linux-gnu/powerpc-linux-gnu/libc/usr/include/openssl --disable-etc-default-login --disable-strip CC=powerpc-linux-gnu-gcc AR=powerpc-linux-gnu-ar

解释configure的内容,host是工具链,disable-zlib是指不压缩(这样可以少调用一个库,后期可以考虑增加zlib进去,可以节省空间),with-ssl是系统中的ssl路径,这个与httpd编译过程中用同一个ssl就可以,CC,AR是编译器。其他项目加上不会错。

7、执行make,生成了一系列文件,生成的文件就是需要拷贝到交换机中的。

8、进入到挂载目录执行以下指令

mkdir ssh

cd ssh

mkdir bin

mkdir etc

mkdir libexec

9、把编译出来的文件和配置文件拷贝到对应文件夹

把scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan拷贝到ssh/bin

把moduli ssh_config sshd_config拷贝到ssh/etc

把sftp-server ssh-keysign拷贝到ssh/libexec

把sshd拷贝到ssh

10、进入交换机,把对应文件夹拷贝到交换机,对应需要执行的指令如下:

mkdir /mnt/nfs

mount -t nfs -o nolock 222.111.111.223:/home/share/mount_httpd   /mnt/nfs/

cd /mnt/nfs/ssh

mkdir /var/empty

mkdir /usr/local/openssh

cp –r bin /usr/local/openssh/

cp -r etc /usr/local/openssh/

cp -r libexec /usr/local/

cp sshd /mnt/SWITCH/ssh/

至此,就完成了移植工作,下面进行修改相关配置工作。

11、修改sshd_config文件

vi /usr/local/openssh/etc/sshd_config

找到两句话:

#PermitRootLogin yes

#Subsystem       sftp    /usr/libexec/sftp-server

修改为以下两句话:

PermitRootLogin yes

Subsystem       sftp    /usr/local/libexec/sftp-server

保存退出。

12、生成证书密码对,对应的指令如下:

cd /usr/local/openssh/etc/

/usr/local/openssh/bin/ssh-keygen -t rsa1 -f ssh_host_key -N ""

/usr/local/openssh/bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""

/usr/local/openssh/bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

/usr/local/openssh/bin/ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""

13、配置用户,增加一个用户sshd

vi /etc/passwd

在末尾增加一行:

sshd:x:74:74:Privilege-separated SSH:/mnt/SWITCH/roofdir:/bin/sh

vi /etc/shadow

在末尾增加一行:

sshd:$1$2p7fIhHL$XPeJiXGOcI.yFFh66jO9x/:11851:0:99999:7:::

vi /etc/group

在末尾增加一行:

sshd::74:sshd

14、给用户设置密码

passwd root(如果不希望root用户可以登录,就不要执行这一句。)

输入两次密码

passwd sshd

输入两次密码

15、kill掉dropbear,启动sshd

killall dropbear

/mnt/SWITCH/ssh/sshd

ps一下,可以看到sshd已经起来了

  1. 打开FlashFXP软件,用sftp链接交换机

链接成功

16、用root用户,我们可以访问任何路径。我们使用sshd用户,让该用户只能访问/mnt/SWITCH/roofdir文件夹。

17、设置好文件夹的权限

chmod 711 /

chmod 711 /mnt/

chmod 711 /mnt/SWITCH/

chmod 755 /mnt/SWITCH/roofdir

chmod –R 777 /mnt/SWITCH/roofdir/MEAS

chmod –R 777 /mnt/SWITCH/roofdir/configuration

chmod -R 711 /usr/local/libexec

18、用sshd用户登录sshd,用户不能进入别的文件夹,只能操作configuration和MEAS文件夹。至此sftp服务器已搭建完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值