在全志V851S开发板上使用SSH配置步骤分析

news2024/11/28 2:51:27
在Tina板子上面开启SSH SERVER

在Tina配置界面的以下目录中

> Network > SSH

勾选的项目

《》openssh-keygen… OpenSSH keygen
<> openssh-server… OpenSSH server

1.配置 sshd_config

rm -rf /etc/ssh/sshd_config;touch /etc/ssh/sshd_config;vi /etc/ssh/sshd_config;

sshd_config 配置文件

Port 22

# Logging
SyslogFacility AUTH
LogLevel INFO


HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

# Authentication:
LoginGraceTime 2m
PermitRootLogin yes
PermitEmptyPasswords yes
StrictModes yes
MaxAuthTries 6
MaxSessions 10
AuthorizedKeysFile      .ssh/authorized_keys

TCPKeepAlive yes

Subsystem       sftp    /usr/lib/sftp-server

2.启动SSH SERVER

etc/init.d/sshd start

3.处理报错
报错Privilege separation user sshd does not exist
执行:

vi /etc/passwd

添加一行代码

sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin

3.报错procd_add_mdns

执行:

vi /etc/init.d/sshd

注释掉 #procd_add_mdns “ssh” “tcp” “$lport”

4.启动SSH SERVER

etc/init.d/sshd start
  • TIP:
    启动SSH 之前最好先连上wifi
    建议用MobaXterm 可以做到SSH 和 文件传输,两个功能同时使用。

  • 注意:
    SSH 登录账户 root
    SSH 登录密码 tina

上述操作如何在编译前配置好OPENSSH

修改4个地方:

1,设置开机启动wifi
启动 wifi, opensshserver

nano /root/tina-v853-docker/openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S50wifideamon

修改 S50wifideamon作为开机启动项配置文件:

#!/bin/sh
#
# Start wifi_daemon....
#

start() {
        wifi_daemon
        sleep 2
        wifi -o sta
        sleep 2
        wifi -c d1
//sleeep for 4seconds
        sleep 4
        ifconfig wlan0 192.168.0.105
        /etc/init.d/sshd start
}

stop() {
        printf "Stopping wifi_daemon: "
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart|reload)
        stop
        start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?

2,通过Makefile配置sshd_config

nano /root/tina-v853-docker/openwrt/package/feeds/net/openssh/Makefile

完整文件代码

#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=openssh
PKG_VERSION:=8.4p1
PKG_RELEASE:=4

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
  https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/
PKG_HASH:=5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24

PKG_LICENSE:=BSD ISC
PKG_LICENSE_FILES:=LICENCE
PKG_CPE_ID:=cpe:/a:openssh:openssh

PKG_REMOVE_FILES:=
PKG_CONFIG_DEPENDS := \
 CONFIG_OPENSSH_LIBFIDO2

PKG_BUILD_DEPENDS += OPENSSH_LIBFIDO2:libfido2

include $(INCLUDE_DIR)/package.mk

define Package/openssh/Default
 SECTION:=net
 CATEGORY:=Network
 DEPENDS:=+libopenssl +zlib
 TITLE:=OpenSSH
 MAINTAINER:=Peter Wagner <tripolar@gmx.at>
 URL:=http://www.openssh.com/
 SUBMENU:=SSH
 VARIANT:=without-pam
endef

define Package/openssh-moduli
 $(call Package/openssh/Default)
 DEPENDS+= +openssh-keygen
 TITLE+= moduli file
endef

define Package/openssh-moduli/description
OpenSSH server moduli file.
endef

define Package/openssh-client
 $(call Package/openssh/Default)
 TITLE+= client
 ALTERNATIVES:=\
  200:/usr/bin/ssh:/usr/libexec/ssh-openssh \
  200:/usr/bin/scp:/usr/libexec/scp-openssh
endef

define Package/openssh-client/description
OpenSSH client.
endef

define Package/openssh-client/conffiles
/etc/ssh/ssh_config
endef

define Package/openssh-client-utils
 $(call Package/openssh/Default)
 DEPENDS+= +openssh-client +openssh-keygen
 TITLE+= client utilities
endef

define Package/openssh-client-utils/description
OpenSSH client utilities.
endef

define Package/openssh-keygen
 $(call Package/openssh/Default)
 TITLE+= keygen
endef

define Package/openssh-keygen/description
OpenSSH keygen.
endef

define Package/openssh-server
 $(call Package/openssh/Default)
 DEPENDS+= +openssh-keygen +OPENSSH_LIBFIDO2:libfido2
 TITLE+= server
 USERID:=sshd=22:sshd=22
endef

define Package/openssh-server/config
 source "$(SOURCE)/Config.in"
endef

define Package/openssh-server/description
OpenSSH server.
endef

define Package/openssh-server/conffiles
/etc/ssh/sshd_config
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
endef

define Package/openssh-server-pam
 $(call Package/openssh/Default)
 DEPENDS+= +libpthread +openssh-keygen +libpam
 TITLE+= server (with PAM support)
 VARIANT:=with-pam
 USERID:=sshd=22:sshd=22
endef

define Package/openssh-server-pam/description
OpenSSH server (with PAM support).
endef

define Package/openssh-server-pam/conffiles
/etc/pam.d/sshd
/etc/security/access-sshd-local.conf
/etc/ssh/sshd_config
endef

define Package/openssh-sftp-client
 $(call Package/openssh/Default)
 TITLE+= SFTP client
endef

define Package/openssh-sftp-client/description
OpenSSH SFTP client.
endef

define Package/openssh-sftp-server
 $(call Package/openssh/Default)
 TITLE+= SFTP server
endef

define Package/openssh-sftp-server/description
OpenSSH SFTP server.
endef

define Package/openssh-sftp-avahi-service
 $(call Package/openssh/Default)
 TITLE+= (SFTP Avahi service)
 DEPENDS:=+openssh-sftp-server +avahi-daemon
endef

define Package/openssh-sftp-avahi-service/description
 This package contains the service definition for announcing
 SFTP support via mDNS/DNS-SD.
endef

define Package/openssh-sftp-avahi-service/conffiles
/etc/avahi/services/sftp-ssh.service
endef

CONFIGURE_ARGS += \
 --sysconfdir=/etc/ssh \
 --with-privsep-user=sshd \
 --with-privsep-path=/var/empty \
 --disable-strip \
 --disable-etc-default-login \
 --disable-lastlog \
 --disable-utmp \
 --disable-utmpx \
 --disable-wtmp \
 --disable-wtmpx \
 --without-bsd-auth \
 --without-kerberos5 \
 --with-stackprotect \
 --with$(if $(CONFIG_OPENSSL_ENGINE),,out)-ssl-engine \
 --with$(if $(CONFIG_OPENSSH_LIBFIDO2),,out)-security-key-builtin
 
ifeq ($(BUILD_VARIANT),with-pam)
CONFIGURE_ARGS += \
 --with-pam
else
CONFIGURE_ARGS += \
 --without-pam
endif

CONFIGURE_VARS += LD="$(TARGET_CC)"

ifeq ($(BUILD_VARIANT),with-pam)
TARGET_LDFLAGS += -lpthread
endif

define Build/Compile
 $(MAKE) -C $(PKG_BUILD_DIR) \
  DESTDIR="$(PKG_INSTALL_DIR)" \
  STRIP_OPT="" \
  all install
endef

define Package/openssh-moduli/install
 $(INSTALL_DIR) $(1)/etc/ssh
 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/moduli $(1)/etc/ssh/
endef

define Package/openssh-client/install
 $(INSTALL_DIR) $(1)/etc/ssh
 chmod 0700 $(1)/etc/ssh
 $(CP) $(PKG_INSTALL_DIR)/etc/ssh/ssh_config $(1)/etc/ssh/
 $(INSTALL_DIR) $(1)/usr/libexec
 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/libexec/ssh-openssh
 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/libexec/scp-openssh
endef

define Package/openssh-client-utils/install
 $(INSTALL_DIR) $(1)/usr/bin
 $(INSTALL_BIN) $(foreach bin,add agent keyscan keysign,$(PKG_BUILD_DIR)/ssh-$(bin)) $(1)/usr/bin/
endef

define Package/openssh-keygen/install
 $(INSTALL_DIR) $(1)/usr/bin
 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh-keygen $(1)/usr/bin/
endef

define Package/openssh-server/install
 $(INSTALL_DIR) $(1)/etc/ssh
 chmod 0700 $(1)/etc/ssh
 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/sshd_config $(1)/etc/ssh/
 sed -r -i 's,^#(HostKey /etc/ssh/ssh_host_(rsa|ed25519)_key)$$$$,\1,' $(1)/etc/ssh/sshd_config
 $(INSTALL_DIR) $(1)/etc/init.d
 $(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd
 $(INSTALL_DIR) $(1)/lib/preinit
 $(INSTALL_BIN) ./files/sshd.failsafe $(1)/lib/preinit/99_10_failsafe_sshd
 $(INSTALL_DIR) $(1)/usr/sbin
 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/
endef


define Package/openssh-server-pam/install
 $(call Package/openssh-server/install,$(1))
 sed -i 's,#Port 22,Port 22,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#SyslogFacility AUTH,SyslogFacility AUTH,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#LogLevel INFO,LogLevel INFO,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#LoginGraceTime 2m,LoginGraceTime 2m,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#StrictModes yes,StrictModes yes,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#MaxAuthTries 6,MaxAuthTries 6,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#MaxSessions 10,MaxSessions 10,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#TCPKeepAlive yes,TCPKeepAlive yes,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#PermitRootLogin prohibit-password,PermitRootLogin yes,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#UsePAM no,UsePAM yes,g' $(1)/etc/ssh/sshd_config
 sed -i 's,#PermitEmptyPasswords yes,PermitEmptyPasswords yes,g' $(1)/etc/ssh/sshd_config
 $(INSTALL_DIR) $(1)/etc/pam.d
 $(INSTALL_DATA) ./files/sshd.pam $(1)/etc/pam.d/sshd
 $(INSTALL_DIR) $(1)/etc/security
 $(INSTALL_DATA) ./files/sshd.pam-access $(1)/etc/security/access-sshd-local.conf
endef

define Package/openssh-sftp-client/install
 $(INSTALL_DIR) $(1)/usr/bin
 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sftp $(1)/usr/bin/
endef

define Package/openssh-sftp-server/install
 $(INSTALL_DIR) $(1)/usr/lib
 $(CP) $(PKG_INSTALL_DIR)/usr/lib/sftp-server $(1)/usr/lib/
 $(INSTALL_DIR) $(1)/usr/libexec
 ln -sf ../lib/sftp-server $(1)/usr/libexec/sftp-server
endef

define Package/openssh-sftp-avahi-service/install
 $(INSTALL_DIR) $(1)/etc/avahi/services
 $(INSTALL_DATA) ./files/sftp-ssh.service $(1)/etc/avahi/services/
endef

$(eval $(call BuildPackage,openssh-client))
$(eval $(call BuildPackage,openssh-moduli))
$(eval $(call BuildPackage,openssh-client-utils))
$(eval $(call BuildPackage,openssh-keygen))
$(eval $(call BuildPackage,openssh-server))
$(eval $(call BuildPackage,openssh-server-pam))
$(eval $(call BuildPackage,openssh-sftp-client))
$(eval $(call BuildPackage,openssh-sftp-server))
$(eval $(call BuildPackage,openssh-sftp-avahi-service))

3,配置passwd

nano /root/tina-v853-docker/openwrt/package/allwinner/system/busybox-init-base-files/files/etc/passwd

添加一行代码

sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin

4,ssh开机脚本

nano /root/tina-v853-docker/openwrt/package/feeds/net/openssh/files/sshd.init

注释掉 procd…

配置文件

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org

START=50
STOP=50

USE_PROCD=1
PROG=/usr/sbin/sshd

start_service() {
 for type in rsa ed25519
 do
  # check for keys
  key=/etc/ssh/ssh_host_${type}_key
  [ ! -f $key ] && {
   # generate missing keys
   [ -x /usr/bin/ssh-keygen ] && {
    /usr/bin/ssh-keygen -N '' -t $type -f $key 2>&- >&-
   }
  }
 done
 mkdir -m 0700 -p /var/empty

 local lport=$(awk '/^Port / { print $2; exit }' /etc/ssh/sshd_config)
 [ -z "$lport" ] && lport=22

 procd_open_instance
 #procd_add_mdns "ssh" "tcp" "$lport"
 procd_set_param command $PROG -D
 procd_close_instance
}

shutdown() {
 local pid

 stop

 # kill active clients
 for pid in $(pidof sshd)
 do
  [ "$pid" = "$$" ] && continue
  [ -e "/proc/$pid/stat" ] && kill $pid
 done
}

5.勾选编译项目 (3个)如下图(要选准哦,否则会报错)
在这里插入图片描述

  • 本文转载自:https://forums.100ask.net/t/topic/3025

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么把mkv文件转成mp4格式,3招立马处理

怎么把mkv文件转成mp4格式的方法你知道吗&#xff1f;我想很多朋友会遇到这样的情况&#xff0c;下载视频后发现无法打开。原来我们下载的视频格式是mkv&#xff0c;也许这个格式大家不是很熟悉的。那么今天就来认识一下&#xff0c;mkv是Matroska的一种媒体文件&#xff0c;mk…

小红书流量密码是什么,怎么掌握并运用

现在是个流量的社会&#xff0c;因为流量其实代表的就是收益&#xff0c;那面对一个流量时代&#xff0c;小红书现在而言毫无疑问是蓝海&#xff0c;品牌想要做好&#xff0c;自然要掌握平台流量密码。今天来和大家一起分享一下小红书流量密码有什么&#xff0c;流量密码可以用…

Qt之QGraphicsView实现截图(漏洞百出且BUG丛生版,部分源码+注释)

文章目录 一、截图操作示例图1.图元绘制示例2.文本添加操作示例3.设置操作示例4.截图拖动示例5.文件保存示例6.剪切板粘贴示例 二、内容指路和思路三、部分源码1.自定义文本框源码2.多类型图形数据的存储3.截图源码 总结相关文章 一、截图操作示例图 1.图元绘制示例 下方一次…

Python小姿势 - ## 安装Python

安装Python 如果你还没有安装Python&#xff0c;那么现在是时候安装它了。有很多不同的选择&#xff0c;但是我们推荐使用Anaconda。 Anaconda是一个用于科学计算的Python发行版&#xff0c;捆绑了许多科学计算所需的包&#xff0c;并且Anaconda的安装包大小也不是很大&#xf…

AVUE做二级联查,本次需求:地市、市县做二级联动

目录 a. 数据库设计 b.前端代码解析***&#xff1a;** c. 后端接口解析&#xff1a; 注意&#xff1a; a. 数据库设计 表结构一定要设计好, 包括&#xff1a;主键、编号&#xff08;code-> 含义&#xff1a;地市、市县的唯一标识&#xff09;、父类编码&#xff08;在本次…

【高危】泛微 e-cology <10.57 存在 SQL注入漏洞(POC)(MPS-ndqt-0im5)

漏洞描述 泛微协同管理应用平台(e-cology)是一套企业大型协同管理平台。 泛微 e-cology 受影响版本存在SQL注入漏洞&#xff0c;未经授权的远程攻击者可通过发送特殊的HTTP请求来获取数据库的敏感信息。 漏洞名称GeoServer 存在 sql 注入漏洞漏洞类型SQL注入发现时间2023/4/…

深度学习 GNN图神经网络(四)线性回归之ESOL数据集水溶性预测

线性回归之ESOL数据集水溶性预测 一、前言二、ESOL数据集三、加载数据集四、数据拆分五、构造模型六、训练模型七、测试结果八、分类问题参考文献 一、前言 本文旨在使用化合物分子的SMILES字符串进行数据模型训练&#xff0c;对其水溶性的值进行预测。 之前的文章《深度学习…

前端开发中获取各种高度宽度

一、前言 前端开发中经常需要获取页面还有屏幕的高度和宽度进行计算,此文即介绍如何用 JavaScript 获取这些尺寸 二、屏幕尺寸 screen.height&#xff1a;屏幕高度screen.width&#xff1a;屏幕宽度screen.availHeight&#xff1a;屏幕可用高度。即屏幕高度减去上下任务栏后的…

2.2 定点加法 减法运算

学习前的建议 以下是一些学习定点加法和减法运算的建议&#xff1a; 掌握定点数的表示方法&#xff1a;在进行定点加法和减法运算之前&#xff0c;需要先了解定点数的表示方法&#xff0c;包括定点数的位数、小数点位置以及符号位等信息。 理解定点加法和减法的原理&#xf…

nginx配置sh脚本远程执行一键安装

背景 本地多机重复操作某些shell指令&#xff0c;分步执行&#xff0c;很耗费时间&#xff0c; 需要远程一键部署&#xff0c;傻瓜化运维&#xff0c;更为通用安装。 即参考docker通用安装 sudo curl https://get.docker.com | sh - # sudo python3 -m pip install docker-co…

SignalR实现简单的Web端实时通讯,跳过WebSocket验证,Swagger加锁后不能访问接口,Script setup不支持动态绑定

版本.Net6Vue3Element-Plus 问题 Swagger加锁后不能访问接口 &#xff08;看第三步&#xff09;跳过WebSocket验证 &#xff08;看第四步里面&#xff09;添加自定义接受方法 &#xff08;看第四步&#xff09;不能使用 第一步、下载包 后端&#xff1a; 前端&#xff1a;…

Android内存优化场景

1、集合类 内存泄露原因 集合类 添加元素后&#xff0c;仍引用着 集合元素对象&#xff0c;导致该集合元素对象不可被回收&#xff0c;从而 导致内存泄漏实例演示 // 通过循环申请Object 对象 & 将申请的对象逐个放入到集合List List<Object> objectList new Arra…

VBA-自定义面板,使用SQL查询Excel数据

需求 定制插件&#xff0c;实现用户打开任意一个工作簿&#xff0c;写sql对Excel中的数据进行查询 案例sql需求场景&#xff1a; 需求 筛选日期小于’2023-4-24’&#xff0c;按group分区&#xff0c;求和各分组下的销售额&#xff0c;返回结果集新建工作表写入 数据源 现…

Docker-compose 启动 lnmp 开发环境

GitHub传送阵 docker-lnmp 项目帮助开发者快速构建本地开发环境&#xff0c;包括Nginx、PHP、MySQL、Redis 服务镜像&#xff0c;支持配置文件和日志文件映射&#xff0c;不限操作系统&#xff1b;此项目适合个人开发者本机部署&#xff0c;可以快速切换服务版本满足学习服务新…

国产开源项目管理软件ZenTao

本文应网友 ukiyoec 要求而写&#xff1b; 什么是禅道 &#xff1f; 禅道 (ZenTao)是国产开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体&#xff0c;是一款专业的研发项目管理软件&#xff0c;完整覆盖了研发项目管理的核心流程。禅…

2023-Hive性能企业级调优

Hive作为大数据平台举足轻重的框架&#xff0c;以其稳定性和简单易用性也成为当前构建企业级数据仓库时使用最多的框架之一。 但是如果我们只局限于会使用Hive&#xff0c;而不考虑性能问题&#xff0c;就难搭建出一个完美的数仓&#xff0c;所以Hive性能调优是我们大数据从业…

前端周总结

在vue里面引入ts文件报错&#xff1a; An import path cannot end with a .ts extension. Consider importing xx.js instead. 方法一&#xff08;最快&#xff09; 把引入的xx.ts后缀删除 方法二 # 在tsconfig.json中加入以下配置 "baseUrl": ".", &quo…

Oracle LiveLabs实验:DB Security - Data Masking and Subsetting (DMS)

概述 本实验介绍了适用于 Enterprise Manager 的 Oracle 数据屏蔽和子集 (DMS) 包的各种特性和功能。 它使用户有机会学习如何配置这些功能&#xff0c;以便在非生产环境中保护他们的敏感数据。 此实验申请地址在这里&#xff0c;时间为60分钟。 本实验也是DB Security Adva…

String AOP

AOP AOP(Aspect Object programmar) 面向切面编程&#xff0c;它是对某一类问题的统一处理&#xff0c;而StringAOP就是AOP思想的一种具体实现就像Ioc和DI。 AOP组成 切面(Aspect) 切⾯&#xff08;Aspect&#xff09;由切点&#xff08;Pointcut&#xff09;和通知&#x…

论文阅读笔记《Grounded Action Transformation for Robot Learning in Simulation》

Grounded Action Transformation for Robot Learning in Simulation 发表于AAAI 2017 仿真机器人学习中的接地动作变换 Hanna J, Stone P. Grounded action transformation for robot learning in simulation[C]//Proceedings of the AAAI Conference on Artificial Intellig…