Files
local_machine/docs/old_mac/REMOTE_ACCESS.md

222 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Удалённое управление Fedora MacBook с Mac (хотспот телефона)
**Схема:** оба ноутбука на WiFi хотспоте 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 в той же WiFi сети |
| `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** / **Изоляция клиентов****Выкл**
- **Разрешить устройствам в сети видеть друг друга** → **Вкл** (если есть)
Переподключить WiFi на **обоих** 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, минуя WiFi хотспота.
### 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:** Системные настройки → Общий доступ → **Общий интернет**
- Раздать от: **WiFi**
- Кому: **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 (WiFi) | Изоляция хотспота → §4 BT PAN |
| Нет bnep0 на Mac | Fedora `setup-bt-pan-fedora.sh` + Bluetooth Connect |
| Fedora WiFi ещё без 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*