问答
直播中

刘 刚

10年用户 42经验值
擅长:6933
私信 关注

【MYS-6ULX-IOT试用体验】在MYS-6ULX开发板上安装ssh和sftp

本帖最后由 sandman78 于 2017-6-15 16:00 编辑

开发板上没有ssh, 为了方便开发,编译安装Openssh到开发板
编译器
  • linaro.tar.xz

源码
编译
默认全部安装到/home/install目录

编译zlib
$ CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar LDSHARED=arm-linux-gnueabihf-gcc ./configure --prefix=/home/install/zlib
$ make
$ make install

编译openssl
$ ./Configure --prefix=/home/install/openssl os/compiler:arm-linux-gnueabihf-gcc
$ make
$ make install

编译openssh
$ ./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/home/install/zlib --with-ssl-dir=/home/install/openssl --disable-etc-default-login
$ make

安装到开发板
建立目录
确保目标板上有以下目录,若没有,则新建:
/usr/local/bin
/usr/local/etc
/usr/libexec
/var/run
/var/empty

复制文件
scp、sftp、ssh sshd、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan共8个文件拷贝到目标板/usr/local/bin
moduli、ssh_config、sshd_config共3个文件拷贝到目标板 /usr/local/etc
sftp-server、ssh-keysign 共2个文件拷贝到目标板 /usr/libexec

修改/etc/passwd
打开 /etc/passwd 文件,在最后添加下面这一行:
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/***in/nologin

如果开发板的 root 用户还没有密码,键入以下命令然输入两次密码来修改,否其他设备无法连接
$ passwd root

sshd 自启动建立启动脚本
$ vi /etc/init.d/sshd.sh

  1. #!/bin/sh
  2. if [ ! -x /usr/local/bin/sshd ]
  3. then
  4.     exit 0
  5. fi

  6. if [ "$1" = "stop" -o "$1" = "restart" ]
  7. then
  8.     echo "Stopping the ssh server: "
  9.     killall sshd
  10. fi

  11. if [ "$1" = "start" -o "$1" = "restart" ]
  12. then
  13.     # assume if one key is missing, all are
  14.     if [ ! -f /usr/local/etc/ssh_host_rsa_key ]
  15.     then
  16.         echo "Generating keys for the ssh server: "
  17.         /usr/local/bin/ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
  18.         /usr/local/bin/ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
  19.         /usr/local/bin/ssh-keygen -t ecdsa -f /usr/local/etc/ssh_host_ecdsa_key -N ""
  20.         /usr/local/bin/ssh-keygen -t dsa -f /usr/local/etc/ssh_host_ed25519_key -N ""
  21.     fi
  22.     for i in ssh_host_rsa_key ssh_host_dsa_key ssh_host_ecdsa_key ssh_host_ed25519_key
  23.     do
  24.         chmod 600 /usr/local/etc/$i
  25.     done
  26.     #echo "Starting the ssh server:"
  27.     /usr/local/bin/sshd
  28. fi
添加执行权限
$ chmod +x sshd.sh

建立软链接
$ ln -s /etc/rcS.d/S60sshd.sh /etc/init.d/sshd.sh

到此重启后就可以甩掉串口线,用ssh登陆开发板了

sftp
$ vi /usr/local/etc/sshd_config
修改包含sftp行
Subsystem sftp /usr/libexec/sftp-server

到此重启后就可以用sftp和开发板传输文件了

回帖(4)

260539160

2017-6-16 12:07:18
评测还是可以的,但是对于很多初学者可能还是很难理解和看懂,希望可以发布一个详细一点的评测
举报

刘 刚

2017-6-16 14:26:00
附上编译完的文件,不想编译的可以复制到开发板上直接使用


举报

    install.zip (2017-6-16 14:25 上传)

    6.39 MB, 下载次数: 9

    复制到开发板

jackeyt

2017-6-18 00:29:48
引用: 260539160 发表于 2017-6-16 12:07
评测还是可以的,但是对于很多初学者可能还是很难理解和看懂,希望可以发布一个详细一点的评测

没事,新手慢慢来嘛,没有SSH的话,你上篇文章里面要用SCP传播东西是不行的。
举报

杰杰

2018-5-8 15:50:44
看看学习学习{:12:}{:12:}{:12:}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分