
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kali SSH 配置与花生壳手机远程连接指南</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Arial", "Microsoft YaHei", sans-serif;
}
body {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
line-height: 1.6;
color: #333;
background-color: #f5f5f5;
}
h1 {
text-align: center;
color: #2c3e50;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 2px solid #3498db;
}
.section {
background-color: #fff;
border-radius: 8px;
padding: 25px;
margin-bottom: 25px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
h2 {
color: #3498db;
margin-bottom: 20px;
padding-left: 10px;
border-left: 4px solid #3498db;
}
h3 {
color: #2c3e50;
margin: 15px 0 10px;
}
.code-container {
position: relative;
margin: 10px 0;
}
.code-block {
background-color: #2d3436; /* 深色背景 */
border-radius: 4px;
padding: 15px;
overflow-x: auto;
border-left: 3px solid #3498db;
}
pre {
font-family: "Consolas", "Monaco", monospace;
color: #f8f9fa; /* 浅色文字 */
line-height: 1.5;
margin: 0;
}
.copy-btn {
position: absolute;
top: 5px;
right: 5px;
padding: 5px 10px;
background-color: #3498db;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 0.8em;
transition: background-color 0.3s;
}
.copy-btn:hover {
background-color: #2980b9;
}
.copy-btn.copied {
background-color: #2ecc71;
}
ul {
margin: 10px 0 10px 25px;
list-style-type: disc;
}
li {
margin-bottom: 8px;
}
.note {
background-color: #fff3cd;
border-left: 4px solid #ffc107;
padding: 12px;
margin: 15px 0;
border-radius: 4px;
color: #856404;
}
.step {
margin-bottom: 15px;
}
code {
background-color: #f1f1f1;
padding: 2px 4px;
border-radius: 2px;
font-family: "Consolas", "Monaco", monospace;
}
</style>
</head>
<body>
<h1>Kali SSH 配置与花生壳手机远程连接指南</h1>
<!-- 第一部分:Kali 端配置(电脑操作) -->
<div class="section">
<h2>一、Kali 端配置(电脑上操作)</h2>
<div class="step">
<h3>1. 启动 SSH 服务并验证端口</h3>
<p>通过命令启动 SSH 服务,并确认 22 端口(SSH 默认端口)已正常开放:</p>
<div class="code-container">
<div class="code-block">
<pre># 1. 启动 SSH 服务
systemctl start ssh
# 2. 查看端口监听状态(确认 0.0.0.0:22 或 :::22 存在,即 SSH 正常运行)
ss -tulnp</pre>
</div>
<button class="copy-btn" onclick="copyCode(this)">复制</button>
</div>
<p>正常输出会包含 <code>0.0.0.0:22</code>,表示 SSH 端口已开放。</p>
</div>
<div class="step">
<h3>2. 安装花生壳(实现内网穿透)</h3>
<p>花生壳用于将 Kali 的内网 IP 映射到公网,让手机可远程访问:</p>
<div class="code-container">
<div class="code-block">
<pre># 1. 下载花生壳压缩包(若链接失效,可去花生壳官网下载对应 Kali 版本)
wget https://xstao.lanzoum.com/i5Un22qmbkmj
# 2. 解压压缩包(若为其他格式,用 tar -zxvf 文件名 等对应命令)
unzip i5Un22qmbkmj
# 3. 安装花生壳 deb 包(文件名以实际解压结果为准,示例为 phddns_5.3.0_amd64.deb)
dpkg -i phddns_5.3.0_amd64.deb
# 4. 启动花生壳服务并设置开机自启
phddns start # 启动服务
phddns enable # 开机自启</pre>
</div>
<button class="copy-btn" onclick="copyCode(this)">复制</button>
</div>
</div>
<div class="step">
<h3>3. 花生壳绑定设备与配置 SSH 映射</h3>
<ol>
<li>获取花生壳 SN 码:执行以下命令,复制输出中的 <strong>SN 码</strong>:
<div class="code-container">
<div class="code-block">
<pre>phddns status</pre>
</div>
<button class="copy-btn" onclick="copyCode(this)">复制</button>
</div>
</li>
<li>绑定设备:
<ul>
<li>电脑浏览器打开花生壳官网:<a href="https://hsk.oray.com" target="_blank">https://hsk.oray.com</a></li>
<li>登录账号后进入「设备管理」→「添加设备」,粘贴 SN 码完成绑定。</li>
</ul>
</li>
<li>添加 SSH 端口映射:
<ul>
<li>进入「映射管理」→「添加映射」,配置以下参数:
<ul>
<li>应用类型:常规应用</li>
<li>映射协议:TCP</li>
<li>外网域名:选择账号下的免费域名</li>
<li>内网主机:执行 <code>ifconfig</code> 查看 Kali 内网 IP(如 eth0 网卡的 inet 地址,示例:192.168.1.12)</li>
<li>内网端口:22(SSH 默认端口)</li>
</ul>
</li>
<li>保存映射,记录生成的 <strong>外网地址 + 外网端口</strong>(后续手机连接需用)。</li>
</ul>
</li>
</ol>
</div>
</div>
<!-- 第二部分:手机端配置 -->
<div class="section">
<h2>二、手机端配置(手机上操作)</h2>
<div class="step">
<h3>1. 安装 Termux 并配置 SSH 工具</h3>
<ol>
<li>下载 Termux 软件:从链接 <a href="https://xstao.lanzoum.com/i5Un22qmbkmj" target="_blank">https://xstao.lanzoum.com/i5Un22qmbkmj</a> 下载,或从官网/应用商店获取。</li>
<li>安装 SSH 客户端:打开 Termux,执行以下命令安装 SSH 工具:
<div class="code-container">
<div class="code-block">
<pre>pkg install openssh -y</pre>
</div>
<button class="copy-btn" onclick="copyCode(this)">复制</button>
</div>
</li>
</ol>
</div>
<div class="step">
<h3>2. 手机远程连接 Kali</h3>
<ol>
<li>网络准备:确保手机与 Kali 处于 <strong>同一局域网</strong>,或手机使用流量(通过花生壳外网访问)。</li>
<li>执行连接命令:将「外网地址」和「外网端口」替换为花生壳映射的实际信息,示例如下:
<div class="code-container">
<div class="code-block">
<pre># 格式:ssh kali@外网地址 -p 外网端口
# 示例:ssh kali@hskxxxx.orayvip.com -p 12345</pre>
</div>
<button class="copy-btn" onclick="copyCode(this)">复制</button>
</div>
</li>
<li>验证连接:
<ul>
<li>首次连接提示「Are you sure you want to continue connecting?」,输入 <code>yes</code> 确认。</li>
<li>输入 Kali 的 <code>kali</code> 用户密码(若未设置密码,先在 Kali 中用 <code>passwd</code> 命令修改)。</li>
<li>若命令行显示 <code>kali@kali:~$</code>,表示连接成功。</li>
</ul>
</li>
</ol>
</div>
</div>
<!-- 第三部分:注意事项 -->
<div class="section">
<h2>三、关键注意事项</h2>
<div class="note">
<strong>排查连接失败的常见原因:</strong>
<ul>
<li>SSH 服务状态:执行 <code>systemctl status ssh</code>,确保服务为「active (running)」。</li>
<li>花生壳在线状态:执行 <code>phddns status</code>,确保显示「在线」。</li>
<li>映射配置正确性:确认内网 IP、内网端口(22)与 Kali 实际信息一致。</li>
</ul>
</div>
<div class="note">
<strong>安全建议:</strong>
<ul>
<li>避免使用默认密码,在 Kali 中用 <code>passwd</code> 命令修改 <code>kali</code> 用户密码。</li>
<li>若需公网访问,可修改 SSH 默认端口(非 22),减少暴力破解风险。</li>
</ul>
</div>
</div>
<script>
// 复制代码功能
function copyCode(button) {
// 获取当前按钮对应的代码块
const codeBlock = button.previousElementSibling;
const code = codeBlock.textContent;
// 复制到剪贴板
navigator.clipboard.writeText(code).then(() => {
// 复制成功提示
const originalText = button.textContent;
button.textContent = "已复制";
button.classList.add("copied");
// 2秒后恢复原状
setTimeout(() => {
button.textContent = originalText;
button.classList.remove("copied");
}, 2000);
}).catch(err => {
console.error('复制失败:', err);
alert('复制失败,请手动复制');
});
}
</script>
</body>
</html>