Termux 公网ipv6 域名 ssh访问

本文详细介绍如何配置Termux支持IPv6访问,并实现通过IPv6地址或域名一键SSH连接。包括修改sshd配置、获取IPv6地址、配置密钥访问等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前面就说过,现在无论是移动网络还是宽带大部分都是支持公网ipv6的,公网ip,那我们岂不就何时何地都能ssh我们的termux服务器了?说干就干。

1. 修改sshd配置

Termux的sshd配置文件时精简过的,所以要支持ipv6,我们得手动添加几行配置:

vim $PREFIX/etc/ssh/sshd_config

在最上边添加三行:

AddressFamily any
ListenAddress ::
ListenAddress 0.0.0.0

保存,暴力重启sshd服务

pkill sshd &&sshd

2. 获取Termux的ipv6地址

安装依赖

pkg install iproute2		#工具包用来获取IP地址

命令:

ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1

在这里插入图片描述

如果命令有反馈值,就说明你的设备有公网ipv6,没有反馈就是没有。关于获取ipv6公网地址看这:《Termux解析公网ipv6——从全世界各地连接你的Termux》

3. ipv6地址访问

之后就可以使用其他设备通过ipv6地址ssh你的Termux:
在这里插入图片描述

4. 域名访问

大部分ipv6时动态分配的,隔一段时间就会变化,每次都去重新获取ipv6地址是个很麻烦的事儿,所幸ipv6的ddns解析还是有很多免费服务的,做一下ipv6域名解析:《Termux解析公网ipv6——从全世界各地连接你的Termux》

然后就可以通过域名来进行ssh访问了:
在这里插入图片描述

5. 一键ssh连接

每次在电脑上输入ssh命令连接Termux还是挺繁琐的,下面给它步骤优化一下。

我这里使用的pc环境是windows10,终端是Windows Terminal,直接在微软商店就能下载。

①配置密钥访问

要实现一键登录,就要省去输入密码这个环节。

首先在 PC 端生成秘钥对:

ssh-keygen

有选项就狂按回车:在这里插入图片描述

完成后会在~/.ssh下多出三个文件:id_rsaid_rsa.pub,authorized_keys

然后需要把公钥 id_rsa.pub 发送到Termux中.

首先在pc终端输入以下脚本,不要一句一句,全部复制后回车:

function ssh-copy-id([string]$userAtMachine, $Port){   
    $publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
    if (!(Test-Path "$publicKey")){
        Write-Error "ERROR: failed to open ID file '$publicKey': No such file"            
    }
    else {
        & cat "$publicKey" | ssh $userAtMachine -p $Port "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
    }
}

然后执行:

ssh-copy-id <ip或者域名> 8022

在这里插入图片描述
接下来就能在PC端,无密码连接Termux了:

ssh <ip或者域名> -p 8022

在这里插入图片描述

②添加一键连接脚本

在你的C:\Users\YiBingYiHan\.ssh路径下新建一个文本文档,将ssh命令写在里面:

ssh <Termux的ip或者域名> -p 8022

保存,重命名为Termux.bat

之后打开Windows Terminal的设置,点击添加新配置文件 -> 新建空配置文件
在这里插入图片描述
按照下图配置:
在这里插入图片描述
保存配置,在下拉箭头就能看见新建的Termux配置了,点击就能直接ssh连接:
在这里插入图片描述

### 如何配置公网 IPv6 地址 #### 准备工作 为了使 ECS 实例能够通过 IPv6 访问公网或被公网访问,需要先确认已开通 IPv6 公网带宽[^1]。 #### 开通 IPv6 公网带宽 进入云服务提供商控制台,找到对应的网络设置选项,按照指引操作来开启 IPv6公网带宽支持。具体步骤可能因不同的服务商而有所差异,请参照官方文档说明进行操作。 #### 配置 VPC 内的 IPv6 网络环境 创建ECS实例时所配置的是用于专有网络VPC内部通讯的IPv6地址;如果希望该实例可以利用其IPv6地址实现对外部互联网的服务提供,则需进一步调整网络参数以确保外部连接的有效性。 #### 设置安全组规则允许进出站流量 针对想要开放给外界访问的应用程序端口,在对应的安全策略中添加相应的入方向(Ingress)和出方向(Egress)规则,以便于正确处理来自/发往公共Internet的数据包传输请求。 #### 测试连通性和性能评估 完成上述配置之后,可以通过在线工具或是本地命令行工具如 `ping` 或者 `curl` 来验证新设定下的可达情况以及测量实际可用带宽大小。值得注意的是,部分用户的反馈显示某些情况下可能会遇到上传速度不如预期的问题[^4]。 ```bash # 使用 ping 命令测试与目标主机之间的延迟状况 $ ping6 www.example.com # 利用 curl 下载网页内容的同时查看响应时间 $ curl -o /dev/null -s -w "%{time_total}\n" http://www.example.com/ ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值