netbird-claude-install: пропуск перерегистрации + Mac-ключ в admin_authorized_keys
- Skip 'netbird up --setup-key' если хост уже Connected к tenant (иначе создаётся дубль peer) - Залить публичный ed25519-ключ Mac в C:\\ProgramData\\ssh\\administrators_authorized_keys + правильные ACL (SYSTEM+Administrators) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -48,9 +48,15 @@ if (-not (Test-Path $NETBIRD_EXE)) {
|
||||
}
|
||||
|
||||
# ===== 3. Регистрация =====
|
||||
Write-Host "[3/7] Регистрация в tenant с Claude-Diag ключом..."
|
||||
& $NETBIRD_EXE up --setup-key $SETUP_KEY 2>&1 | Out-Host
|
||||
Start-Sleep 3
|
||||
# Если уже подключён к tenant (например, через свой setup-key в другой группе) — не перерегистрировать
|
||||
$nbStatus = & $NETBIRD_EXE status 2>$null | Out-String
|
||||
if ($nbStatus -match "Management:\s*Connected" -or $nbStatus -match "Signal:\s*Connected") {
|
||||
Write-Host "[3/7] Netbird уже подключён, перерегистрацию пропускаем"
|
||||
} else {
|
||||
Write-Host "[3/7] Регистрация в tenant с Claude-Diag ключом..."
|
||||
& $NETBIRD_EXE up --setup-key $SETUP_KEY 2>&1 | Out-Host
|
||||
Start-Sleep 3
|
||||
}
|
||||
|
||||
# ===== 4. Пользователь claude =====
|
||||
Write-Host "[4/7] Создаю/обновляю пользователя $CLAUDE_USER..."
|
||||
@@ -119,6 +125,23 @@ try {
|
||||
-Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force | Out-Null
|
||||
} catch {}
|
||||
|
||||
# Mac-ключ Олега в administrators_authorized_keys (для админов sshd читает только этот файл)
|
||||
$macKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPonNRAAJRK5wISltjR65MmeP7fQjf5HmYdQD9mlZ07F ai@mac-20260112"
|
||||
$authKeys = "C:\ProgramData\ssh\administrators_authorized_keys"
|
||||
try {
|
||||
if (-not (Test-Path "C:\ProgramData\ssh")) {
|
||||
New-Item -ItemType Directory -Path "C:\ProgramData\ssh" -Force | Out-Null
|
||||
}
|
||||
$current = if (Test-Path $authKeys) { Get-Content $authKeys -Raw -ErrorAction SilentlyContinue } else { "" }
|
||||
if ($current -notmatch [regex]::Escape($macKey)) {
|
||||
Add-Content -Path $authKeys -Value $macKey -Encoding ASCII
|
||||
}
|
||||
# Жёсткие права: только SYSTEM и Administrators (требование sshd для admin-ключей)
|
||||
icacls $authKeys /inheritance:r /grant "SYSTEM:F" /grant "BUILTIN\Administrators:F" 2>&1 | Out-Null
|
||||
} catch {
|
||||
Write-Host " Не удалось установить Mac-ключ в administrators_authorized_keys" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
# ===== 7. Firewall rules — только для NetBird CIDR =====
|
||||
Write-Host "[7/7] Firewall rules для $NETBIRD_CIDR..."
|
||||
$rules = @(
|
||||
|
||||
Reference in New Issue
Block a user