手机SSH直连电脑运行iflow终极安全配置

引言

手机通过 SSH 连接电脑后,会和电脑本地登录一样,直接进入 iflow CLI,所有 iflow 指令都能在手机上输入、执行,iflow 的输出也会实时显示在手机终端里。

Termux(手机端 Linux 终端)+ Termius(SSH 客户端) → 连接 Windows SSH → 运行 iflow cli,技术上 100% 可行,和用电脑 SSH 连接的效果完全一致。

一、Windows 电脑端临时打开 / 关闭防火墙的命令(管理员 PowerShell)

以下命令仅用于临时测试(比如排查连接问题),测试完成后建议恢复之前的安全规则,避免暴露风险:

1. 临时允许所有 SSH 入站(仅测试用)
bash 复制代码
# 先备份现有SSH防火墙规则(可选,建议执行)
Get-NetFirewallRule | Where-Object Name -match 'sshd' | Export-Clixml -Path "C:\sshd_firewall_backup.xml"

# 临时允许所有IP访问SSH(22端口)
New-NetFirewallRule -Name sshd-temp-all -DisplayName "SSH 临时全开放" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress Any -Action Allow -Priority 5

二、手机(Termux)+ 电脑端 SSH 连接 iflow 的完整命令

不管是手机(Termux)还是电脑(终端 / CMD/PowerShell),连接 Windows SSH 的核心命令完全一致,且效果 100% 相同,具体如下:

1. 基础连接命令(通用)
bash 复制代码
# 手机Termux/电脑终端/PowerShell通用
ssh user@192.168.1.18
  • 说明:user 是你配置的允许登录用户,192.168.1.18 是 Windows 服务器的局域网 IP;
  • 连接后会依次验证:SSH 密钥 → Windows 密码 → 微软 2FA,全部通过后直接进入 iflow CLI。
2. 若密钥不在默认路径(可选)

如果 SSH 密钥不是 ~/.ssh/id_ed25519(比如自定义了密钥文件名 / 路径),补充 -i 参数指定密钥:

bash 复制代码
# 手机Termux/电脑通用(示例)
ssh -i ~/.ssh/my_key user@192.168.1.18
3. Tailscale 远程连接(外网)

如果不在局域网,通过 Tailscale 连接时,把 IP 换成 Windows 的 Tailscale 内网 IP(比如 100.xxx.xxx.xxx)即可:

bash 复制代码
ssh user@100.xxx.xxx.xxx

☝️官方说明,以下均为保障安全做出的配置。


我设计的终极安全模式:锁死在应用里

受限制 shell + 强制启动 iflow

实现效果:

  1. SSH 一登录,直接进入 iflow CLI
  2. 退不出 iflow,一退出就断开 SSH
  3. 任何系统命令都用不了:dir、cd、rm、powershell、reg 全禁用
  4. iflow 本身需要的系统权限完全保留
  5. 三层验证:密钥 + 密码 + 2FA 全部保留
  6. 仅允许局域网 + Tailscale 访问,禁止公网

一句话总结:**用户被锁在应用里,系统完全隔离,应用正常满权限运行。**这是 Linux/Windows 服务器标准安全玩法。


最终无矛盾、最安全配置(直接抄)

1. sshd_config 全覆盖配置

路径:C:\ProgramData\ssh\sshd_config

bash 复制代码
# ==============================
# 定制安全锁死版 SSHD ------ 仅运行 iflow
# 验证:密钥 → Windows密码 → 微软Authenticator
# 外网仅Tailscale
# 用户只能用iflow,无法操作系统
# ==============================

Port 22
ListenAddress 192.168.1.18

# 只允许指定用户
AllowUsers user
DenyUsers *
PermitRootLogin no

# 密钥必选
PubkeyAuthentication yes

# 密码 + 2FA
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes
AuthenticationMethods publickey,password,keyboard-interactive

MaxAuthTries 3
LoginGraceTime 30

# 🔒 强制登录后只运行 iflow
ForceCommand iflow

# 完全禁用危险转发
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
PermitUserEnvironment no
PermitUserRC no
AllowStreamLocalForwarding no

# 空闲自动断开
ClientAliveInterval 120
ClientAliveCountMax 3

# 高安全加密套件
LogLevel VERBOSE
StrictModes yes
HostKeyAlgorithms ssh-ed25519
KexAlgorithms curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com

Banner none

关键:ForceCommand iflow

  • 登录立刻执行 iflow
  • 无法退回 shell
  • Ctrl+C 退出 iflow = 直接断 SSH
  • 用户看不到 cmd/powershell,输不了系统命令
  • iflow 自身权限、功能 100% 正常

2. 防火墙规则(管理员 PowerShell)

bash 复制代码
# 清理旧规则
Get-NetFirewallRule | Where-Object Name -match 'OpenSSH|sshd' | Remove-NetFirewallRule

# 只允许局域网 + Tailscale
New-NetFirewallRule -Name sshd-local -DisplayName "SSH 局域网" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress 192.168.1.0/24 -Action Allow
New-NetFirewallRule -Name sshd-tailscale -DisplayName "SSH Tailscale" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress 100.64.0.0/10 -Action Allow

# 禁止公网
New-NetFirewallRule -Name sshd-deny-public -DisplayName "SSH 禁止公网" -Direction Inbound -Protocol TCP -LocalPort 22 -RemoteAddress Any -Action Block -Priority 10

3. 重启 SSH 生效

bash 复制代码
Restart-Service sshd

最终效果

  1. 只能用:ssh user@192.168.1.18
  2. 三层验证:密钥 → Windows 密码 → 2FA
  3. 密码最多 3 次重试
  4. 外网仅 Tailscale 可连
  5. 登录直接进 iflow CLI
  6. 无法操作系统、无法退到 shell
  7. iflow 功能、权限完全正常

只需你确认一件事

在 Windows cmd 里直接输入 iflow 能不能启动?

  • 能 → 这套配置直接完美运行
  • 不能 → 改成绝对路径:ForceCommand C:\tools\iflow.exe
相关推荐
Jackey_Song_Odd2 小时前
Part 1:Python语言核心 - 序列与容器
开发语言·windows·python
北京软秦科技有限公司3 小时前
IACheck+AI审核如何赋能刑事证据检测?全面提升报告法律效力,构建高标准司法鉴定审核体系
人工智能·安全
浪潮IT馆4 小时前
Windows 达梦 8(DM8)数据库完整安装教程 + 命令行导入 .dmp 文件完整指南
数据库·windows
NeilNiu4 小时前
Windows系统本地安装OpenClaw+飞书机器人
windows·机器人·飞书
艾莉丝努力练剑4 小时前
【脉脉】AI创作者崛起:掌握核心工具,在AMA互动中共同成长
运维·服务器·c++·人工智能·安全·企业·脉脉
洛菡夕6 小时前
nginx安全防护与HTTPS部署实战
nginx·安全·https
mldlds7 小时前
mysql9.0windows安装
windows·adb
未佩妥剑,已入江湖7 小时前
docker Windows下安装
运维·windows·docker·容器
似水明俊德8 小时前
10-C#
开发语言·windows·c#