恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 迅雷TV版在当贝应用市场独家首发恩山
查看: 1814|回复: 5

[小米其它型号路由器] ax9000开发者版开启ssh

[复制链接]
发表于 2022-8-2 02:18 | 显示全部楼层 |阅读模式
本帖最后由 liufangg 于 2022-8-2 02:36 编辑

小米论坛的帖子的 转过来了,容器启动后能登陆,后面就看不懂了,哪位大佬出个详细点教程
启动容器内ssh,挂载路由器主文件系统

用容器平台创建一个stack,内容如下
服务:
debian:
image: registry.cn-shanghai.aliyuncs.com/aliyun2671973364/arm8-debian-sshd:0.1
ports:
- “22002:22”
volumes:
- /userdisk:/host/userdisk
- /etc:/host/etc

容器成功启动以后,验证下能不能登陆:
ssh root@192.168.31.1 -p 22002
#密码root

构建一个全静态链接的sshd服务并拷贝到路由器
这里我不想去折腾原生的sshd服务,如果有时间也可以找个原生可以跑的sshd写入到路由器文件系统去,当然直接简单点放路由器的u盘上理论上也行。

文件:main_sshd.go 源码

package main

import (
“fmt”
“io”
“log”
“os”
“os/exec”
“syscall”
“unsafe”

“github.com/gliderlabs/ssh”
“github.com/creack/pty”


func setWinsize(f *os.File, w, h int) {
syscall.Syscall(syscall.SYS_IOCTL, f.Fd(), uintptr(syscall.TIOCSWINSZ),
uintptr(unsafe.Pointer(&struct{ h, w, x, y uint16 }{uint16(h), uint16(w), 0, 0}))}


func main() {
ssh.Handle(func(s ssh.Session) {
cmd := exec.Command(“/bin/sh”)
ptyReq, winCh, isPty := s.Pty()
if isPty {
cmd.Env = append(cmd.Env, fmt.Sprintf(“TERM=%s”, ptyReq.Term))
f, err := pty.Start(cmd)
if err != nil {
panic(err)
}
go func() {
for win := range winCh {
setWinsize(f, win.宽度,赢。Height)
}
}()
go func() {
io.Copy(f, s) // stdin
}()
io.Copy(s, f) // stdout
cmd.Wait()
} else {
io.WriteString(s, “No PTY request.\n”)
s.Exit(1)
}
})

log.Println(“在端口 2222 上启动 ssh 服务器...”)
addr := os.Getenv(“LSN_ADDR”)
if addr == “” {
addr = “:33002” //这个字符串是监听端口
}
log.致命(ssh.ListenAndServe(addr, nil, ssh.PasswordAuth(func(ctx ssh.Context, pass string) bool {
return pass == “jan4984”//这个字符串是密码
}))))
}

编译:
go mod init test
GOPROXY=https://goproxy.cn go mod tidy
GOARCH=arm64 GOOS=linux go build -ldflags “-s -w” ./main_sshd.go
scp -P 22002 main_sshd root@192.168.31.1:/host/userdisk/
#密码root

创建自启动
ssh root@192.168.31.1 -p 22002
#密码root
echo '#!/bin/sh
/userdisk/main_sshd' > /host/userdisk/sshd.sh
chmod +x sshd.sh
echo “*/1 * * * * /userdisk/sshd.sh >/dev/null 2>&1” >> /host/etc/crontabs/root

final验证
ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.31.1 -p 33002


我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-2 02:21 | 显示全部楼层
看出来了,用 Go 编译实现的 SSH。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-2 02:22 | 显示全部楼层
早点睡叭,别折腾了,我的小可爱,Mua(づ ̄3 ̄)づ╭❤~
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-17 22:29 | 显示全部楼层
没看懂,有大神解释一下吗
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-27 10:59 | 显示全部楼层
有没有人出个详细的教程
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-8-27 17:23 | 显示全部楼层
不如直接固化ssh
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-9-30 08:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表