mirror of
https://github.com/PowerShell/Win32-OpenSSH.git
synced 2025-11-19 05:09:53 +01:00
53 lines
1.6 KiB
PowerShell
53 lines
1.6 KiB
PowerShell
param ([switch]$Quiet)
|
|
Import-Module $PSScriptRoot\OpenSSHUtils.psm1 -Force -DisableNameChecking
|
|
|
|
#check sshd config file
|
|
$sshdConfigPath = join-path $PSScriptRoot "sshd_config"
|
|
if(Test-Path $sshdConfigPath -PathType Leaf)
|
|
{
|
|
Fix-HostSSHDConfigPermissions -FilePath $sshdConfigPath @psBoundParameters
|
|
}
|
|
else
|
|
{
|
|
Write-host "$FilePath does not exist" -ForegroundColor Yellow
|
|
}
|
|
|
|
#check host keys
|
|
<#$result = 'n'
|
|
if (-not $Quiet) {
|
|
Do
|
|
{
|
|
$input = Read-Host -Prompt "Did you register host private keys with ssh-agent? [Yes] Y; [No] N"
|
|
} until ($input -match "^(y(es)?|N(o)?)$")
|
|
$result = $Matches[0]
|
|
}
|
|
|
|
if($result.ToLower().Startswith('n'))
|
|
{
|
|
$warning = @"
|
|
To keep the host private keys secure, it is recommended to register them with ssh-agent following
|
|
steps in link https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH.
|
|
If you choose not to register the keys with ssh-agent, please grant sshd read access to the private host keys after run this script.
|
|
"@
|
|
Write-Warning $warning
|
|
Write-Host " "
|
|
}#>
|
|
|
|
Get-ChildItem $PSScriptRoot\ssh_host_*_key -ErrorAction Ignore | % {
|
|
Fix-HostKeyPermissions -FilePath $_.FullName @psBoundParameters
|
|
}
|
|
|
|
|
|
#check authorized_keys
|
|
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" -ErrorAction Ignore | % {
|
|
$userProfilePath = Get-ItemPropertyValue $_.pspath -Name ProfileImagePath -ErrorAction Ignore
|
|
$filePath = Join-Path $userProfilePath .ssh\authorized_keys
|
|
if(Test-Path $filePath -PathType Leaf)
|
|
{
|
|
Fix-AuthorizedKeyPermissions -FilePath $filePath @psBoundParameters
|
|
}
|
|
}
|
|
|
|
Write-Host " Done."
|
|
Write-Host " "
|