forked from M-Labs/wfvm
43 lines
1.5 KiB
PowerShell
43 lines
1.5 KiB
PowerShell
|
Write-Host "Expanding OpenSSH"
|
||
|
Expand-Archive D:\OpenSSH-Win64.zip C:\
|
||
|
|
||
|
Push-Location C:\OpenSSH-Win64
|
||
|
|
||
|
Write-Host "Installing OpenSSH"
|
||
|
& .\install-sshd.ps1
|
||
|
|
||
|
Write-Host "Generating host keys"
|
||
|
.\ssh-keygen.exe -A
|
||
|
|
||
|
Write-Host "Fixing host file permissions"
|
||
|
& .\FixHostFilePermissions.ps1 -Confirm:$false
|
||
|
|
||
|
Write-Host "Fixing user file permissions"
|
||
|
& .\FixUserFilePermissions.ps1 -Confirm:$false
|
||
|
|
||
|
Pop-Location
|
||
|
|
||
|
$newPath = 'C:\OpenSSH-Win64;' + [Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::Machine)
|
||
|
[Environment]::SetEnvironmentVariable("PATH", $newPath, [EnvironmentVariableTarget]::Machine)
|
||
|
|
||
|
#Write-Host "Adding public key to authorized_keys"
|
||
|
#$keyPath = "~\.ssh\authorized_keys"
|
||
|
#New-Item -Type Directory ~\.ssh > $null
|
||
|
#$sshKey | Out-File $keyPath -Encoding Ascii
|
||
|
|
||
|
Write-Host "Opening firewall port 22"
|
||
|
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
|
||
|
|
||
|
Write-Host "Setting sshd service startup type to 'Automatic'"
|
||
|
Set-Service sshd -StartupType Automatic
|
||
|
Set-Service ssh-agent -StartupType Automatic
|
||
|
Write-Host "Setting sshd service restart behavior"
|
||
|
sc.exe failure sshd reset= 86400 actions= restart/500
|
||
|
|
||
|
#Write-Host "Configuring sshd"
|
||
|
#(Get-Content C:\ProgramData\ssh\sshd_config).replace('#TCPKeepAlive yes', 'TCPKeepAlive yes').replace('#ClientAliveInterval 0', 'ClientAliveInterval 300').replace('#ClientAliveCountMax 3', 'ClientAliveCountMax 3') | Set-Content C:\ProgramData\ssh\sshd_config
|
||
|
|
||
|
Write-Host "Starting sshd service"
|
||
|
Start-Service sshd
|
||
|
Start-Service ssh-agent
|