# Mac Mini 配置 SSH 免密登录到 NAS

#openclaw #mac-mini #ssh
## 概述

本文档记录 Mac Mini (192.168.3.189) 配置 SSH 免密登录到 NAS (192.168.3.17) 的详细步骤。

## 前提条件

- Mac Mini 已安装 SSH 客户端（内置）
- NAS 已开启 SSH 服务
- 拥有 NAS 用户名和密码

## SSH 密钥配置

### 1. 生成 SSH 密钥（如不存在）

```bash
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519
```

### 2. 传输公钥到 NAS

```bash
# 方法1：使用 sshpass（需要安装）
sshpass -p 'NAS密码' ssh -o StrictHostKeyChecking=no shenwei@192.168.3.17 'cat >> ~/.ssh/authorized_keys'

# 方法2：手动复制
# 1. 查看公钥
cat ~/.ssh/id_ed25519.pub
# 2. 登录 NAS
ssh shenwei@192.168.3.17
# 3. 追加公钥到 authorized_keys
echo '公钥内容' >> ~/.ssh/authorized_keys
```

## ~/.ssh/config 配置

### 完整配置示例

```bash
# NAS
Host nas
    HostName 192.168.3.17
    User shenwei
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none

# Ubuntu1
Host ubuntu1
    HostName 192.168.3.47
    User shenwei
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none

# Ubuntu2
Host ubuntu2
    HostName 192.168.3.45
    User shenwei
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none

# Mac Mini (本地)
Host macmini
    HostName 192.168.3.189
    User weishen
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none

# VPS1
Host vps1
    HostName 192.227.222.142
    User root
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none

# VPS2
Host vps2
    HostName 104.194.92.188
    User root
    IdentityFile ~/.ssh/id_ed25519
    ProxyCommand none
```

## 测试免密登录

```bash
# 测试 NAS 连接
ssh nas "echo success"

# 测试所有服务器
for server in macmini ubuntu1 ubuntu2 nas; do
    ssh $server "echo $server OK"
done
```

## 已配置的服务器

| 主机 | IP | 用户 | 状态 |
|------|-----|------|------|
| nas | 192.168.3.17 | shenwei | ✅ 已配置 |
| ubuntu1 | 192.168.3.47 | shenwei | ✅ 已配置 |
| ubuntu2 | 192.168.3.45 | shenwei | ✅ 已配置 |
| macmini | 192.168.3.189 | weishen | ✅ 已配置 |
| vps1 | 192.227.222.142 | root | ✅ 已配置 |
| vps2 | 104.194.92.188 | root | ✅ 已配置 |

## 故障排查

### 问题：Could not resolve hostname nas

**解决**：确保 ~/.ssh/config 中已添加 nas 别名配置

### 问题：Permission denied

**解决**：
1. 检查公钥是否已添加到目标服务器的 ~/.ssh/authorized_keys
2. 检查 ~/.ssh 目录权限应为 700
3. 检查 ~/.ssh/authorized_keys 权限应为 600

## 相关文档

- Ubuntu2 SSH 配置: [[Ubuntu2 SSH 配置]]
