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. Регистрация =====
|
# ===== 3. Регистрация =====
|
||||||
Write-Host "[3/7] Регистрация в tenant с Claude-Diag ключом..."
|
# Если уже подключён к tenant (например, через свой setup-key в другой группе) — не перерегистрировать
|
||||||
& $NETBIRD_EXE up --setup-key $SETUP_KEY 2>&1 | Out-Host
|
$nbStatus = & $NETBIRD_EXE status 2>$null | Out-String
|
||||||
Start-Sleep 3
|
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 =====
|
# ===== 4. Пользователь claude =====
|
||||||
Write-Host "[4/7] Создаю/обновляю пользователя $CLAUDE_USER..."
|
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
|
-Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force | Out-Null
|
||||||
} catch {}
|
} 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 =====
|
# ===== 7. Firewall rules — только для NetBird CIDR =====
|
||||||
Write-Host "[7/7] Firewall rules для $NETBIRD_CIDR..."
|
Write-Host "[7/7] Firewall rules для $NETBIRD_CIDR..."
|
||||||
$rules = @(
|
$rules = @(
|
||||||
|
|||||||
Reference in New Issue
Block a user