Initial commit
This commit is contained in:
31
deploy/register-ssh-key.ps1
Normal file
31
deploy/register-ssh-key.ps1
Normal file
@@ -0,0 +1,31 @@
|
||||
param(
|
||||
[string]$NasUser = "y2keui",
|
||||
[string]$NasHost = "comtropy.synology.me",
|
||||
[int]$NasPort = 50022,
|
||||
[string]$SshKeyPath = "$env:USERPROFILE\.ssh\nas_codex_ed25519"
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$publicKeyPath = "$SshKeyPath.pub"
|
||||
if (-not (Test-Path $publicKeyPath)) {
|
||||
Write-Host "Missing public key: $publicKeyPath" -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
$remote = "${NasUser}@${NasHost}"
|
||||
$remoteCommand = @'
|
||||
export PATH=/usr/local/bin:/var/packages/ContainerManager/target/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
|
||||
umask 077
|
||||
mkdir -p ~/.ssh
|
||||
cat >> ~/.ssh/authorized_keys
|
||||
chmod 700 ~/.ssh
|
||||
chmod 600 ~/.ssh/authorized_keys
|
||||
'@
|
||||
|
||||
Get-Content -Raw $publicKeyPath | ssh -p $NasPort $remote $remoteCommand
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Registering SSH public key failed with exit code $LASTEXITCODE"
|
||||
}
|
||||
|
||||
Write-Host "Public key registered: $publicKeyPath"
|
||||
Reference in New Issue
Block a user