当前位置:   article > 正文

嵌入式LINUX移植、配置ssh_嵌入式linux调试ssh

嵌入式linux调试ssh
  • 编译

https://quantum6.blog.csdn.net/article/details/136299665

编译时指定prefix,产生的文件会自带这个目录。所以直接忽略。

  1. ./configure
  2. # 不指定编译路径,手动复制。
  • 复制

编译后的整个目录打包,复制到开发板。写个脚本,内容如下,执行:

  1. INSTALL=/usr/bin/install
  2. MKDIR=/usr/bin/mkdir
  3. ${MKDIR} -p -m 0755 /var/empty
  4. U_L_SBIN=/usr/local/sbin
  5. echo
  6. echo ${U_L_SBIN}
  7. ${MKDIR} -p ${U_L_SBIN}
  8. ${INSTALL} -c -m 0755 sshd ${U_L_SBIN}/sshd
  9. U_L_BIN=/usr/local/bin
  10. echo
  11. echo ${U_L_BIN}
  12. ${MKDIR} -p ${U_L_BIN}
  13. ${INSTALL} -c -m 0755 ssh ${U_L_BIN}/ssh
  14. ${INSTALL} -c -m 0755 scp ${U_L_BIN}/scp
  15. ${INSTALL} -c -m 0755 ssh-add ${U_L_BIN}/ssh-add
  16. ${INSTALL} -c -m 0755 ssh-agent ${U_L_BIN}/ssh-agent
  17. ${INSTALL} -c -m 0755 ssh-keygen ${U_L_BIN}/ssh-keygen
  18. ${INSTALL} -c -m 0755 ssh-keyscan ${U_L_BIN}/ssh-keyscan
  19. ${INSTALL} -c -m 0755 sftp ${U_L_BIN}/sftp
  20. U_L_LIBEXEC=/usr/local/libexec
  21. echo
  22. echo ${U_L_LIBEXEC}
  23. ${MKDIR} -p ${U_L_LIBEXEC}
  24. ${INSTALL} -c -m 4711 ssh-keysign ${U_L_LIBEXEC}/ssh-keysign
  25. ${INSTALL} -c -m 0755 ssh-pkcs11-helper ${U_L_LIBEXEC}/ssh-pkcs11-helper
  26. ${INSTALL} -c -m 0755 ssh-sk-helper ${U_L_LIBEXEC}/ssh-sk-helper
  27. ${INSTALL} -c -m 0755 sftp-server ${U_L_LIBEXEC}/sftp-server
  28. U_L_S_M_MAN1=/usr/local/share/man/man1
  29. echo
  30. echo ${U_L_S_M_MAN1}
  31. ${MKDIR} -p ${U_L_S_M_MAN1}
  32. ${INSTALL} -c -m 644 ssh.1.out ${U_L_S_M_MAN1}/ssh.1
  33. ${INSTALL} -c -m 644 scp.1.out ${U_L_S_M_MAN1}/scp.1
  34. ${INSTALL} -c -m 644 ssh-add.1.out ${U_L_S_M_MAN1}/ssh-add.1
  35. ${INSTALL} -c -m 644 ssh-agent.1.out ${U_L_S_M_MAN1}/ssh-agent.1
  36. ${INSTALL} -c -m 644 ssh-keygen.1.out ${U_L_S_M_MAN1}/ssh-keygen.1
  37. ${INSTALL} -c -m 644 ssh-keyscan.1.out ${U_L_S_M_MAN1}/ssh-keyscan.1
  38. ${INSTALL} -c -m 644 sftp.1.out ${U_L_S_M_MAN1}/sftp.1
  39. U_L_S_M_MAN5=/usr/local/share/man/man5
  40. echo
  41. echo ${U_L_S_M_MAN5}
  42. ${MKDIR} -p ${U_L_S_M_MAN5}
  43. ${INSTALL} -c -m 644 moduli.5.out ${U_L_S_M_MAN5}/moduli.5
  44. ${INSTALL} -c -m 644 sshd_config.5.out ${U_L_S_M_MAN5}/sshd_config.5
  45. ${INSTALL} -c -m 644 ssh_config.5.out ${U_L_S_M_MAN5}/ssh_config.5
  46. U_L_S_M_MAN8=/usr/local/share/man/man8
  47. echo
  48. echo ${U_L_S_M_MAN8}
  49. ${MKDIR} -p ${U_L_S_M_MAN8}
  50. ${INSTALL} -c -m 644 sshd.8.out ${U_L_S_M_MAN8}/sshd.8
  51. ${INSTALL} -c -m 644 sftp-server.8.out ${U_L_S_M_MAN8}/sftp-server.8
  52. ${INSTALL} -c -m 644 ssh-keysign.8.out ${U_L_S_M_MAN8}/ssh-keysign.8
  53. ${INSTALL} -c -m 644 ssh-pkcs11-helper.8.out ${U_L_S_M_MAN8}/ssh-pkcs11-helper.8
  54. ${INSTALL} -c -m 644 ssh-sk-helper.8.out ${U_L_S_M_MAN8}/ssh-sk-helper.8
  55. U_L_ETC=/usr/local/etc
  56. echo
  57. echo ${U_L_ETC}
  58. ${MKDIR} -p ${U_L_ETC}
  59. ${INSTALL} -c -m 644 ssh_config.out ${U_L_ETC}/ssh_config
  60. ${INSTALL} -c -m 644 sshd_config.out ${U_L_ETC}/sshd_config
  61. ${INSTALL} -c -m 644 moduli.out ${U_L_ETC}/moduli
  •  准备工作
ssh-keygen -A
  • 产生KEY(实际上已经复制,不需要)
  1. ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
  2. ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
  3. ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
  4. ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
  • 增加sshd用户

sshd: Privilege separation user sshd does not exist-CSDN博客

  • 缺少依赖库

我的板子缺少libz.so/libcrypto.so,复制到/lib64下,解决。

  1. /usr/local/sbin/sshd
  2. sshd: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
  3. lrwxrwxrwx 1 root root 9 Jan 1 00:15 /lib64/libz.so -> libz.so.1
  4. lrwxrwxrwx 1 root root 14 Jan 1 00:15 /lib64/libz.so.1 -> libz.so.1.2.11
  5. -rw-r----- 1 root root 117032 Jan 1 00:15 /lib64/libz.so.1.2.11
  6. lrwxrwxrwx 1 root root 16 Jan 1 00:15 /lib64/libcrypto.so -> libcrypto.so.1.1
  7. -rw-r----- 1 root root 2711280 Jan 1 00:15 /lib64/libcrypto.so.1.1
  • 检查配置文件是否正确
/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config
  • 修改配置文件,允许ROOT登录

通过SSH使用ROOT账号无法登录,提示禁止访问Access denied_ssh root拒绝访问-CSDN博客

  • 运行
  1. /usr/local/sbin/sshd -f /usr/local/etc/sshd_config
  2. ps | grep sshd
  3. 1501 root 0:00 sshd: /usr/local/sbin/sshd -f /usr/local/etc/sshd_config [listener

可以看到已经启动到后台了。可以使用ssh登录了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/841876
推荐阅读
相关标签
  

闽ICP备14008679号