Created
September 9, 2021 10:05
-
-
Save vipulwairagade/f0cc3952af7602f3c082bffbadf747de to your computer and use it in GitHub Desktop.
Setting up OpenSSH for Windows using public key authentication
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Place this script in a directory w/ your private/public key/pair and run! | |
PowerShell.exe -ExecutionPolicy Bypass -File "C:\bypass\prompt\standard.ps1" 2>&1>$null | |
Add-WindowsCapability -Online -Name OpenSSH.Server | |
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "%WINDIR%\System32\OpenSSH\sshd.exe" | |
#Must Enable ssh-agent before starting | |
Set-Service -Name ssh-agent -StartupType Automatic | |
Set-Service -Name sshd -StartupType Automatic | |
Start-Service ssh-agent; Start-Service sshd | |
$sshdir="$env:USERPROFILE\.ssh" | |
mkdir $sshdir | |
copy .\id_rsa $sshdir\ | |
cat $sshdir\id_rsa | |
copy .\*.pub $sshdir\authorized_keys | |
cat $sshdir\authorized_keys | |
ssh-add $sshdir\id_rsa | |
$sshd_config="C:\ProgramData\ssh\sshd_config" | |
(Get-Content $sshd_config) -replace '#PubkeyAuthentication', 'PubkeyAuthentication' | Out-File -encoding ASCII $sshd_config | |
(Get-Content $sshd_config) -replace 'AuthorizedKeysFile __PROGRAMDATA__', '#AuthorizedKeysFile __PROGRAMDATA__' | Out-File -encoding ASCII $sshd_config | |
(Get-Content $sshd_config) -replace 'Match Group administrators', '#Match Group administrators' | Out-File -encoding ASCII $sshd_config | |
cat C:\ProgramData\ssh\sshd_config | |
Restart-Service ssh-agent; Restart-Service sshd | |
Write-Host "Use this to Login/test Now" | |
write-host ssh $env:UserName@localhost |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment