在公网 SSH 登录家里的 iMac

要在公网 SSH 登录家里的 iMac,核心是三步:**在 iMac 上开启 SSH 服务 → 路由器做端口映射 → 用公网 IP/域名连接**。下面给你完整、可直接照着做的方案。


一、先在 iMac 上开启 SSH(远程登录)

1. 图形界面开启(推荐)

  1. 点击苹果菜单 → **系统设置** → **通用** → **共享**

  2. 打开 **远程登录** 开关

  3. 记下面板里显示的:

  • 你的用户名(如 `jane`)

  • 内网 IP(如 `192.168.1.100`)

  • SSH 命令示例:`ssh jane@192.168.1.100`

  1. 可选:点「信息」,限制仅指定用户可登录,更安全

2. 终端命令开启(备用)

```bash

开启 SSH

sudo systemsetup -setremotelogin on

查看状态

sudo systemsetup -getremotelogin

```

3. 防火墙放行(关键)

  • 系统设置 → 网络 → 防火墙 → 选项

  • 确保 **远程登录(SSH)** 已被允许

  • 或临时关闭防火墙测试(测试后记得打开)


二、方案 A:路由器端口映射(有公网 IP 首选)

1. 确认你家有公网 IP

  • 打开路由器管理页(通常 `192.168.1.1` 或 `192.168.0.1`)

  • 看 WAN 口 IP:

  • 若为 `10.x`/`172.16.x`/`192.168.x` → 是内网 IP,用方案 B

  • 若为其他公网 IP → 可做端口映射

2. 设置端口映射(虚拟服务器)

  1. 登录路由器管理后台

  2. 进入 **高级设置 → 端口转发 / 虚拟服务器**

  3. 添加一条规则:

  • 协议:**TCP**

  • 外网端口:建议用非 22,如 `2222`(防扫描)

  • 内网 IP:iMac 的内网 IP(如 `192.168.1.100`)

  • 内网端口:**22**(SSH 默认端口)

  1. 保存并重启路由器

3. 配置 DDNS(解决公网 IP 变动)

  1. 路由器 → 高级设置 → **DDNS**

  2. 选择服务商(如花生壳、Cloudflare、No-IP)

  3. 注册账号,绑定一个域名(如 `myimac.xxx.com`)

  4. 路由器自动同步公网 IP 到域名


三、方案 B:内网穿透(无公网 IP 必选)

用 **cpolar** 或 **frp** 穿透,无需公网 IP、不用改路由器。

以 cpolar 为例(简单免费)

  1. 安装 cpolar

```bash

用 Homebrew 安装

brew install cpolar

注册并认证(去 cpolar 官网拿 Authtoken)

cpolar authtoken 你的token

安装并启动服务

sudo cpolar service install

sudo cpolar service start

```

  1. 创建 SSH 隧道

```bash

临时穿透(关闭终端失效)

cpolar tcp 22

后台常驻(推荐)

cpolar tcp 22 --background

```

  1. 获取公网地址
  • 访问 `http://127.0.0.1:9200/\` 登录 cpolar 后台

  • 状态 → 在线隧道列表,复制公网地址(如 `6.tcp.cpolar.top:14946`)


四、外网 SSH 连接命令

1. 端口映射方案(有公网 IP)

```bash

用公网 IP + 外网端口

ssh -p 2222 jane@123.45.67.89

用 DDNS 域名(推荐)

ssh -p 2222 jane@myimac.xxx.com

```

2. 内网穿透方案(cpolar)

```bash

ssh -p 14946 jane@6.tcp.cpolar.top

```


五、安全加固(必做)

  1. **禁用密码登录,只用密钥**

```bash

在外网电脑生成密钥

ssh-keygen -t ed25519

上传公钥到 iMac

ssh-copy-id -p 2222 jane@myimac.xxx.com

在 iMac 上禁用密码登录

sudo vi /etc/ssh/sshd_config

修改:

PasswordAuthentication no

ChallengeResponseAuthentication no

重启 SSH 服务

sudo launchctl stop com.openssh.sshd

sudo launchctl start com.openssh.sshd

```

  1. **修改默认端口**
  • 不要用 22,改用 2222、3333 等

  • 路由器/穿透工具同步改端口

  1. **限制登录 IP**
  • 在 `sshd_config` 中用 `AllowUsers` 限制可登录用户

  • 路由器防火墙仅放行你的常用外网 IP


六、常见问题排查

  1. 连接超时
  • 检查 iMac SSH 是否开启、防火墙是否放行

  • 检查路由器端口映射是否正确、是否重启

  • 检查公网 IP/域名是否正确

  1. 连接被拒绝
  • 确认 iMac 内网 IP 未变

  • 确认端口映射内外端口一致

  • 确认 iMac 未休眠(系统设置 → 电池 → 永不休眠)

  1. 无公网 IP
  • 联系运营商申请公网 IP(部分地区收费)

  • 直接用内网穿透方案(cpolar/frp)


七、一句话总结

  • 有公网 IP:**端口映射 + DDNS**,稳定免费

  • 无公网 IP:**cpolar 内网穿透**,简单快速

  • 安全第一:**密钥登录 + 改端口 + 限 IP**

需要我给你生成一份可直接复制的 **iMac SSH 安全加固配置清单**(含密钥登录、禁用密码、端口修改)吗?

相关推荐
hongmai6668883 小时前
ESP8684-WROOM-02C:一块被低估的RISC-V Wi-Fi模组
单片机·嵌入式硬件·物联网·5g·智能路由器·risc-v
袁小皮皮不皮1 天前
11.HCIP IS-IS协议基础知识
服务器·网络·笔记·网络协议·智能路由器
A_humble_scholar2 天前
Linux网络基础(一):从计算机组成、操作系统到Socket
智能路由器
zbtlink4 天前
给自动售货机配的那台WiFi6路由器,它用上了吗
网络·智能路由器
爱刷碗的苏泓舒4 天前
网络通信入门:交换机、路由器与防火墙的角色、关系、功能和使用场景
网络·智能路由器·网络通信·防火墙·交换机
hongmai6668885 天前
ESP32-C5-WROOM-1-N16R8:双频Wi-Fi 6与多协议融合,重新定义物联网连接新标准
笔记·嵌入式硬件·物联网·智能路由器·risc-v
Shell运维手记6 天前
ARP 协议超详细讲解(适合网工考试 / 运维理解)
运维·网络·网络协议·智能路由器
白狐_7986 天前
【408计算机网络|第04章·下|408-CN-04B】网络层(下):路由算法、RIP、OSPF、BGP、IPv6与路由器
计算机网络·算法·智能路由器
Inhand陈工6 天前
路由器专题二:有线为主,蜂窝备份——映翰通路由器链路备份功能详解
运维·网络·物联网·智能路由器·系统安全
Yuiiii__8 天前
一次“在家连不上公司内网服务”的排障实战记录
网络·智能路由器