在公网 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 安全加固配置清单**(含密钥登录、禁用密码、端口修改)吗?

相关推荐
qianshanxue1114 天前
网关什么意思
智能路由器
BugShare15 天前
路由器配置 DDNS 实现稳定的远程访问
网络·智能路由器
_麦麦_15 天前
《九章云络书·织网布阵玄机》上篇
网络·智能路由器
天上飞的粉红小猪16 天前
网络层补充内容
网络·智能路由器
winfreedoms16 天前
Puppypi——hiwonder-toolbox中配置文件解析
网络·智能路由器
Starry_hello world17 天前
Linux 网络(5)
linux·网络·智能路由器
刘孬孬沉迷学习17 天前
路由算法学习( Dijkstra 算法 Bellman-Ford方程算法)
网络·学习·智能路由器·信息与通信·dijkstra算法·路由算法·bellman-ford算法
夜来小雨18 天前
BGP高级特性-RR路由反射器
网络·智能路由器
意疏18 天前
技术党必看:节点小宝网关模式上线,无需客户端享远程访问,附新春抽NAS奖攻略
网络·智能路由器·节点小宝