Add Joplin, old Mac, and Fedora WiFi runbooks; simplify JA3 Whisky scripts and hotspot recovery.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-19 22:26:33 +03:00
parent 1938b7c743
commit 4bc9629a09
381 changed files with 3442 additions and 773 deletions

View File

@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Fedora: включить SSH и подготовить удалённый доступ.
# sudo bash setup-ssh-fedora.sh [имя_пользователя]
set -euo pipefail
USER_NAME="${1:-${SUDO_USER:-$USER}}"
SSH_DIR="/home/$USER_NAME/.ssh"
AUTH_KEYS="$SSH_DIR/authorized_keys"
PUBKEY_FILE="$(dirname "$0")/mac_pubkey.txt"
die() { printf 'error: %s\n' "$*" >&2; exit 1; }
[ "$(id -u)" -eq 0 ] || die "запустите с sudo"
id "$USER_NAME" >/dev/null 2>&1 || die "пользователь не найден: $USER_NAME"
printf '=== SSH remote access (Fedora) ===\n\n'
# openssh-server
if ! rpm -q openssh-server >/dev/null 2>&1; then
if command -v dnf >/dev/null 2>&1; then
dnf install -y openssh-server || die "dnf install openssh-server failed"
else
die "установите openssh-server вручную"
fi
fi
systemctl enable --now sshd
systemctl is-active sshd >/dev/null || die "sshd не запустился"
# firewall
if systemctl is-active firewalld >/dev/null 2>&1; then
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
printf '[ok] firewalld: ssh разрешён\n'
else
printf '[info] firewalld не активен — пропуск\n'
fi
# authorized_keys
install -d -m 700 -o "$USER_NAME" -g "$USER_NAME" "$SSH_DIR"
touch "$AUTH_KEYS"
chown "$USER_NAME:$USER_NAME" "$AUTH_KEYS"
chmod 600 "$AUTH_KEYS"
if [ -s "$PUBKEY_FILE" ]; then
if ! grep -qF "$(awk '{print $1,$2}' "$PUBKEY_FILE")" "$AUTH_KEYS" 2>/dev/null; then
cat "$PUBKEY_FILE" >>"$AUTH_KEYS"
printf '[ok] добавлен ключ из mac_pubkey.txt\n'
else
printf '[ok] ключ из mac_pubkey.txt уже есть\n'
fi
else
printf '[!] mac_pubkey.txt пуст — добавьте ключ Mac вручную:\n'
printf ' echo "ssh-ed25519 AAAA... mac-fedora" >> %s\n' "$AUTH_KEYS"
fi
# hostname для mDNS
if command -v hostnamectl >/dev/null 2>&1; then
hostnamectl set-hostname fedora 2>/dev/null || true
fi
printf '\n--- Сеть ---\n'
ip -4 -o addr show scope global 2>/dev/null | awk '{print $2, $4}' || true
printf 'hostname: %s\n' "$(hostname -f 2>/dev/null || hostname)"
printf '\n--- Готово ---\n'
printf 'С Mac: ssh %s@<IP>\n' "$USER_NAME"
printf 'mDNS: ssh %s@fedora.local\n' "$USER_NAME"
printf '\nЕсли с Mac не пингуется — изоляция хотспота или используйте BT PAN (см. REMOTE_ACCESS.md).\n'