222 lines
6.7 KiB
Markdown
222 lines
6.7 KiB
Markdown
# Удалённое управление Fedora MacBook с Mac (хотспот телефона)
|
||
|
||
**Схема:** оба ноутбука на Wi‑Fi хотспоте Redmi; прямой SSH часто **блокируется изоляцией клиентов** — обход через Bluetooth PAN.
|
||
|
||
**Проверено:** 2026-06-16 · `fedora.local` → `10.23.120.30`, ping с Mac **не проходит** (AP isolation).
|
||
|
||
---
|
||
|
||
## 1. Быстрый путь
|
||
|
||
### A. Один раз — Mac
|
||
|
||
```bash
|
||
bash ~/code/local_machine/docs/old_mac/scripts/setup-remote-mac.sh ВАШ_ЛОГИН_FEDORA
|
||
bash ~/code/local_machine/docs/old_mac/scripts/build-remote-access-archive.sh
|
||
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh \
|
||
~/code/local_machine/docs/old_mac/deliverable/fedora-remote-access.tar.gz
|
||
```
|
||
|
||
### B. Один раз — Fedora (после приёма архива по BT)
|
||
|
||
Логин: **`p`**
|
||
|
||
```bash
|
||
cd ~/Downloads
|
||
tar xzf fedora-remote-access.tar.gz
|
||
cd fedora-remote-access
|
||
sudo bash setup-ssh-fedora.sh p
|
||
sudo bash setup-bt-pan-fedora.sh
|
||
```
|
||
|
||
### C. Подключение с Mac
|
||
|
||
```bash
|
||
bash ~/code/local_machine/docs/old_mac/scripts/bootstrap-ssh-fedora.sh # один раз, копирует ключ
|
||
bash ~/code/local_machine/docs/old_mac/scripts/connect-fedora.sh # дальше без пароля
|
||
```
|
||
|
||
Пароль хранится локально: `~/.config/old_mac/fedora.env` (см. `fedora.env.example`).
|
||
|
||
### D. RDP (графический стол, xrdp :3389)
|
||
|
||
На Fedora уже может быть xrdp. С Mac:
|
||
|
||
```bash
|
||
brew install freerdp # один раз
|
||
bash ~/code/local_machine/docs/old_mac/scripts/connect-rdp-fedora.sh
|
||
```
|
||
|
||
Или **Microsoft Remote Desktop** (App Store): PC `fedora.local` или `10.23.120.30`, port **3389**, user **`p`**.
|
||
|
||
RDP и SSH одинаково **не достучатся**, пока нет L3 между Mac и Fedora (изоляция хотспота / нет BT PAN).
|
||
|
||
---
|
||
|
||
## 2. Диагностика сети хотспота
|
||
|
||
```bash
|
||
bash ~/code/local_machine/docs/old_mac/scripts/discover-fedora.sh
|
||
```
|
||
|
||
| Результат | Значение |
|
||
|-----------|----------|
|
||
| `fedora.local` резолвится | Fedora в той же Wi‑Fi сети |
|
||
| `ping: ok` | Можно SSH по LAN (`ssh fedora-mbp`) |
|
||
| `ping: FAIL` + mDNS есть | **Изоляция клиентов** на телефоне → §4 BT PAN |
|
||
| `ssh:22 open` | `connect-fedora.sh` должен работать |
|
||
|
||
Текущая типичная картина:
|
||
|
||
```text
|
||
Mac: 10.23.120.84/24
|
||
Gateway: 10.23.120.139 (телефон)
|
||
Fedora: 10.23.120.30 (fedora.local)
|
||
Ping Mac→Fedora: FAIL (изоляция)
|
||
```
|
||
|
||
---
|
||
|
||
## 3. Путь LAN (если ping проходит)
|
||
|
||
### 3.1 Отключить изоляцию на Redmi Note 14
|
||
|
||
Настройки → Режим модема / Точка доступа → **Дополнительно**:
|
||
|
||
- **AP isolation** / **Изоляция клиентов** → **Выкл**
|
||
- **Разрешить устройствам в сети видеть друг друга** → **Вкл** (если есть)
|
||
|
||
Переподключить Wi‑Fi на **обоих** Mac. Проверка:
|
||
|
||
```bash
|
||
ping -c2 fedora.local
|
||
bash ~/code/local_machine/docs/old_mac/scripts/connect-fedora.sh
|
||
```
|
||
|
||
### 3.2 SSH на Fedora
|
||
|
||
```bash
|
||
sudo bash setup-ssh-fedora.sh USER
|
||
```
|
||
|
||
### 3.3 SSH с Mac
|
||
|
||
```bash
|
||
ssh fedora-mbp # ~/.ssh/config
|
||
# или
|
||
bash connect-fedora.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 4. Путь Bluetooth PAN (обход изоляции хотспота)
|
||
|
||
Прямой линк **Mac ↔ Fedora** поверх Bluetooth, минуя Wi‑Fi хотспота.
|
||
|
||
### 4.1 Fedora — PAN-сервер
|
||
|
||
```bash
|
||
sudo bash setup-bt-pan-fedora.sh
|
||
```
|
||
|
||
Остаётся работать в фоне (`bt-network -s nap pan0`), IP Fedora: **172.20.99.1/24**.
|
||
|
||
### 4.2 Mac — подключить PAN
|
||
|
||
1. **Bluetooth** → устройство **fedora** → **Connect**
|
||
(профиль «Сеть» / Network Access Point / NAP — если спросит)
|
||
2. Настроить IP:
|
||
|
||
```bash
|
||
bash ~/code/local_machine/docs/old_mac/scripts/setup-bt-pan-mac.sh
|
||
```
|
||
|
||
Mac получит **172.20.99.2/24**, ping Fedora:
|
||
|
||
```bash
|
||
ping -c2 172.20.99.1
|
||
```
|
||
|
||
### 4.3 SSH
|
||
|
||
```bash
|
||
ssh fedora-mbp-bt
|
||
# или
|
||
bash ~/code/local_machine/docs/old_mac/scripts/connect-fedora.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 5. Альтернатива: Internet Sharing (Mac → Fedora)
|
||
|
||
Если PAN с ручными IP капризничает:
|
||
|
||
1. **Mac:** Системные настройки → Общий доступ → **Общий интернет**
|
||
- Раздать от: **Wi‑Fi**
|
||
- Кому: **Bluetooth PAN**
|
||
2. **Fedora:** Bluetooth → подключиться к Mac как к сети
|
||
3. Fedora получит `192.168.2.x`, Mac обычно `192.168.2.1`
|
||
4. На Fedora узнать IP: `ip -4 addr show bnep0`
|
||
5. Добавить в Mac `~/.ssh/config` HostName с этим IP или `connect-fedora.sh`
|
||
|
||
---
|
||
|
||
## 6. Скрипты
|
||
|
||
| Скрипт | Где | Назначение |
|
||
|--------|-----|------------|
|
||
| `setup-remote-mac.sh` | Mac | SSH-ключ + `~/.ssh/config` |
|
||
| `build-remote-access-archive.sh` | Mac | Архив для Fedora |
|
||
| `send-to-fedora-bluetooth.sh` | Mac | Передать архив |
|
||
| `discover-fedora.sh` | Mac | Найти Fedora, проверить LAN |
|
||
| `connect-fedora.sh` | Mac | SSH (LAN или BT) |
|
||
| `setup-ssh-fedora.sh` | Fedora | sshd + authorized_keys |
|
||
| `setup-bt-pan-fedora.sh` | Fedora | BT PAN сервер |
|
||
| `setup-bt-pan-mac.sh` | Mac | IP на bnep0 |
|
||
|
||
---
|
||
|
||
## 7. SSH config (на Mac после setup-remote-mac)
|
||
|
||
```ssh-config
|
||
Host fedora-mbp old-mac-fedora fedora
|
||
User ВАШ_ЛОГИН
|
||
HostName fedora.local
|
||
IdentityFile ~/.ssh/id_ed25519_fedora
|
||
|
||
Host fedora-mbp-bt
|
||
HostName 172.20.99.1
|
||
...
|
||
```
|
||
|
||
---
|
||
|
||
## 8. Устранение неполадок
|
||
|
||
| Проблема | Решение |
|
||
|----------|---------|
|
||
| Permission denied (publickey) | На Fedora: `setup-ssh-fedora.sh`, проверить `mac_pubkey.txt` |
|
||
| Connection refused :22 | `sudo systemctl start sshd` |
|
||
| No route to host (Wi‑Fi) | Изоляция хотспота → §4 BT PAN |
|
||
| Нет bnep0 на Mac | Fedora `setup-bt-pan-fedora.sh` + Bluetooth Connect |
|
||
| Fedora Wi‑Fi ещё без firmware | BT PAN или BT file transfer для архивов |
|
||
|
||
---
|
||
|
||
## 9. Дерево решений
|
||
|
||
```mermaid
|
||
flowchart TD
|
||
A[Нужен SSH на Fedora] --> B{ping fedora.local?}
|
||
B -->|ok| C[setup-ssh-fedora + ssh fedora-mbp]
|
||
B -->|fail| D[Изоляция хотспота]
|
||
D --> E{Можно выкл. AP isolation?}
|
||
E -->|да| C
|
||
E -->|нет| F[setup-bt-pan-fedora + setup-bt-pan-mac]
|
||
F --> G[ssh fedora-mbp-bt]
|
||
```
|
||
|
||
---
|
||
|
||
*docs/old_mac — local_machine*
|