手机SSH直连电脑运行iflow终极安全配置
引言
手机通过 SSH 连接电脑后,会和电脑本地登录一样,直接进入 iflow CLI,所有 iflow 指令都能在手机上输入、执行,iflow 的输出也会实时显示在手机终端里。
Termux(手机端 Linux 终端)+ Termius(SSH 客户端) → 连接 Windows SSH → 运行 iflow cli,技术上 100% 可行,和用电脑 SSH 连接的效果完全一致。
一、Windows 电脑端临时打开 / 关闭防火墙的命令(管理员 PowerShell)
以下命令仅用于临时测试(比如排查连接问题),测试完成后建议恢复之前的安全规则,避免暴露风险:
1. 临时允许所有 SSH 入站(仅测试用)
# 先备份现有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. 基础连接命令(通用)
# 手机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 参数指定密钥:
# 手机Termux/电脑通用(示例)
ssh -i ~/.ssh/my_key user@192.168.1.18
3. Tailscale 远程连接(外网)
如果不在局域网,通过 Tailscale 连接时,把 IP 换成 Windows 的 Tailscale 内网 IP(比如 100.xxx.xxx.xxx)即可:
ssh user@100.xxx.xxx.xxx
☝️官方说明,以下均为保障安全做出的配置。
我设计的终极安全模式:锁死在应用里
受限制 shell + 强制启动 iflow
实现效果:
- SSH 一登录,直接进入 iflow CLI
- 退不出 iflow,一退出就断开 SSH
- 任何系统命令都用不了:dir、cd、rm、powershell、reg 全禁用
- iflow 本身需要的系统权限完全保留
- 三层验证:密钥 + 密码 + 2FA 全部保留
- 仅允许局域网 + Tailscale 访问,禁止公网
一句话总结:用户被锁在应用里,系统完全隔离,应用正常满权限运行。这是 Linux/Windows 服务器标准安全玩法。
最终无矛盾、最安全配置(直接抄)
1. sshd_config 全覆盖配置
路径:C:\ProgramData\ssh\sshd_config
# ==============================
# 定制安全锁死版 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)
# 清理旧规则
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 生效
Restart-Service sshd
最终效果
- 只能用:
ssh user@192.168.1.18 - 三层验证:密钥 → Windows 密码 → 2FA
- 密码最多 3 次重试
- 外网仅 Tailscale 可连
- 登录直接进 iflow CLI
- 无法操作系统、无法退到 shell
- iflow 功能、权限完全正常
只需你确认一件事
在 Windows cmd 里直接输入 iflow 能不能启动?
- 能 → 这套配置直接完美运行
- 不能 → 改成绝对路径:
ForceCommand C:\tools\iflow.exe
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)