42 lines
1.5 KiB
Bash
Executable File
42 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# Mac: один раз скопировать SSH-ключ на Fedora (пароль из ~/.config/old_mac/fedora.env).
|
||
# bash docs/old_mac/scripts/bootstrap-ssh-fedora.sh
|
||
set -euo pipefail
|
||
|
||
ENV="${OLD_MAC_FEDORA_ENV:-$HOME/.config/old_mac/fedora.env}"
|
||
KEY="$HOME/.ssh/id_ed25519_fedora"
|
||
|
||
die() { printf 'error: %s\n' "$*" >&2; exit 1; }
|
||
|
||
[ -f "$ENV" ] || die "нет $ENV — создайте с FEDORA_USER и FEDORA_PASSWORD"
|
||
# shellcheck disable=SC1090
|
||
source "$ENV"
|
||
|
||
[ -f "$KEY" ] || die "нет ключа — bash docs/old_mac/scripts/setup-remote-mac.sh $FEDORA_USER"
|
||
command -v sshpass >/dev/null 2>&1 || die "brew install hudochenkov/sshpass/sshpass"
|
||
|
||
bash "$(dirname "$0")/setup-remote-mac.sh" "$FEDORA_USER" >/dev/null
|
||
|
||
copy_to() {
|
||
local target="$1"
|
||
local label="$2"
|
||
printf 'Пробую %s (%s)…\n' "$label" "$target"
|
||
if sshpass -p "$FEDORA_PASSWORD" ssh-copy-id -i "$KEY" -o ConnectTimeout=5 \
|
||
-o StrictHostKeyChecking=accept-new \
|
||
"${FEDORA_USER}@${target}" 2>/dev/null; then
|
||
printf '[ok] ключ установлен через %s\n' "$label"
|
||
return 0
|
||
fi
|
||
return 1
|
||
}
|
||
|
||
printf '=== bootstrap SSH key → Fedora ===\n\n'
|
||
|
||
copy_to "$FEDORA_BT_IP" "BT PAN" || \
|
||
copy_to "$FEDORA_IP" "hotspot IP" || \
|
||
copy_to "$FEDORA_HOST" "mDNS" || \
|
||
die "не удалось подключиться — см. REMOTE_ACCESS.md (BT PAN или отключить AP isolation)"
|
||
|
||
printf '\nПроверка:\n'
|
||
bash "$(dirname "$0")/connect-fedora.sh" -- 'echo ok && hostname'
|