Giter Site home page Giter Site logo

Comments (8)

ATFieldBeast avatar ATFieldBeast commented on August 26, 2024 2

好像是安全机制,不能用脚本执行ssh。换个支持的?

我是**,我这个虚拟机的docker里装了ddnsgo和npm两个容器,结果下午一直在npm里面操作的,我也不知道为什么居然一直没发现,刚才吃了饭一看怎么好像不太对,真的是,怪不得gui里一直没用

我还说你怎么说镜像里没ssh呢,原来是npm那边有ssh

现在在ddnsgo里自己装了ssh之后一切正常了,gui也能正确获得主路由的wan口ip了

Snipaste_2024-05-10_20-16-24

首先要生成秘钥和主路由免密登录

gui里用的命令是
ssh -T -p XXX YYY@ZZZ < ~/sshgetip/getip.sh
XXX是ssh端口,YYY是主路由登录名,ZZZ是路由器ip

getip.sh是容器里的脚本,随便放哪,里面是ssh到路由器后执行的命令,如下

#!/bin/bash
ip -6 addr show ppp0 | grep 'inet6 240[a-f:A-F 0-9]*/64' | grep -v 'deprecated' | awk -F '[ \t]+|/' '$3 == "::1" { next;} $3 ~ /^fe80::/ { next;} /inet6/ {print $3}' | tail -1

用的就是之前大家总结的正常在本机查找的命令,ppp0要换成你的获取ipv6的网口

(终于把dig要用到华硕的服务这个故障点干掉了,能ssh到主路由的都能这样干了

from ddns-go.

xfl12345 avatar xfl12345 commented on August 26, 2024 1

好像是安全机制,不能用脚本执行ssh。换个支持的?

我是**,我这个虚拟机的docker里装了ddnsgo和npm两个容器,结果下午一直在npm里面操作的,我也不知道为什么居然一直没发现,刚才吃了饭一看怎么好像不太对,真的是,怪不得gui里一直没用

我还说你怎么说镜像里没ssh呢,原来是npm那边有ssh

现在在ddnsgo里自己装了ssh之后一切正常了,gui也能正确获得主路由的wan口ip了

Snipaste_2024-05-10_20-16-24

首先要生成秘钥和主路由免密登录

gui里用的命令是 ssh -T -p XXX YYY@ZZZ < ~/sshgetip/getip.sh XXX是ssh端口,YYY是主路由登录名,ZZZ是路由器ip

getip.sh是容器里的脚本,随便放哪,里面是ssh到路由器后执行的命令,如下

#!/bin/bash
ip -6 addr show ppp0 | grep 'inet6 240[a-f:A-F 0-9]*/64' | grep -v 'deprecated' | awk -F '[ \t]+|/' '$3 == "::1" { next;} $3 ~ /^fe80::/ { next;} /inet6/ {print $3}' | tail -1

用的就是之前大家总结的正常在本机查找的命令,ppp0要换成你的获取ipv6的网口

(终于把dig要用到华硕的服务这个故障点干掉了,能ssh到主路由的都能这样干了

简化版:

echo $(ssh [email protected] 'ip -6 route get 240c::6666') | grep -oE 'src.*$' | awk {'print $2'}

from ddns-go.

jeessy2 avatar jeessy2 commented on August 26, 2024

交替变化说明dig获取的IPv6也交替变化了,需要你自己验证。

如果要获取其它设备的IPv6:

from ddns-go.

ATFieldBeast avatar ATFieldBeast commented on August 26, 2024

交替变化说明dig获取的IPv6也交替变化了,需要你自己验证。

如果要获取其它设备的IPv6:

这些方法好像都从局域网内拿不到主路由的wan口ip的,
我下午试了下把主路由的ssh开了,从容器里ssh进主路由,然后再ip addr那些是可以得到了,
但是在容器里执行有结果,在gui的脚本里放ssh -p xxx xxxx@ip xxx什么的会返回ssh:not found……;把命令写进sh脚本里再在gui的脚本里写/opt/xxxx.sh会返回xxxx.sh not found ……现在就不知道这最后一步在gui里怎么从ssh获得ip了

from ddns-go.

jeessy2 avatar jeessy2 commented on August 26, 2024

docker中不能使用ssh,没那个ssh包
可以尝试直接安装ddns-go到路由器

from ddns-go.

ATFieldBeast avatar ATFieldBeast commented on August 26, 2024

docker中不能使用ssh,没那个ssh包 可以尝试直接安装ddns-go到路由器

啊?我用命令行登陆,进到容器里面都跑通了啊,有ssh来着,就是gui执行不了

from ddns-go.

jeessy2 avatar jeessy2 commented on August 26, 2024

好像是安全机制,不能用脚本执行ssh。换个支持的?

from ddns-go.

ATFieldBeast avatar ATFieldBeast commented on August 26, 2024

好像是安全机制,不能用脚本执行ssh。换个支持的?

我是**,我这个虚拟机的docker里装了ddnsgo和npm两个容器,结果下午一直在npm里面操作的,我也不知道为什么居然一直没发现,刚才吃了饭一看怎么好像不太对,真的是,怪不得gui里一直没用
我还说你怎么说镜像里没ssh呢,原来是npm那边有ssh
现在在ddnsgo里自己装了ssh之后一切正常了,gui也能正确获得主路由的wan口ip了
Snipaste_2024-05-10_20-16-24
首先要生成秘钥和主路由免密登录
gui里用的命令是 ssh -T -p XXX YYY@ZZZ < ~/sshgetip/getip.sh XXX是ssh端口,YYY是主路由登录名,ZZZ是路由器ip
getip.sh是容器里的脚本,随便放哪,里面是ssh到路由器后执行的命令,如下

#!/bin/bash
ip -6 addr show ppp0 | grep 'inet6 240[a-f:A-F 0-9]*/64' | grep -v 'deprecated' | awk -F '[ \t]+|/' '$3 == "::1" { next;} $3 ~ /^fe80::/ { next;} /inet6/ {print $3}' | tail -1

用的就是之前大家总结的正常在本机查找的命令,ppp0要换成你的获取ipv6的网口
(终于把dig要用到华硕的服务这个故障点干掉了,能ssh到主路由的都能这样干了

简化版:

echo $(ssh [email protected] 'ip -6 route get 240c::6666') | grep -oE 'src.*$' | awk {'print $2'}

我就是没整清楚ssh执行命令的时候“”里面还有“”怎么写,转义什么的试了还是报错,才把获取ipv6的命令放脚本里了的,没转过弯可以先不grep,得到完整的返回结果,再在本地grep这样也行(不过放脚本里在gui里看着也挺整洁就是

from ddns-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.