add ssh-pubkey.ps1

This commit is contained in:
AJ ONeal
2020-06-30 11:45:58 -06:00
parent 7f26649ebc
commit e6bc229479
2 changed files with 47 additions and 0 deletions

1
ssh-pubkey/install.ps1 Symbolic link
View File

@@ -0,0 +1 @@
../ssh-utils/ssh-pubkey.ps1

46
ssh-utils/ssh-pubkey.ps1 Normal file
View File

@@ -0,0 +1,46 @@
#!/usr/bin/env pwsh
# TODO: can we use some of this?
# https://github.com/PowerShell/openssh-portable/blob/latestw_all/contrib/win32/openssh/FixUserFilePermissions.ps1
if (!(Test-Path -Path "$Env:USERPROFILE/.ssh"))
{
New-Item -Path "$Env:USERPROFILE/.ssh" -ItemType Directory
& icacls "$Env:USERPROFILE/.ssh" /inheritance:r
& icacls "$Env:USERPROFILE/.ssh" /grant:r "%username%":"(F)"
}
if (!(Test-Path -Path "$Env:USERPROFILE/.ssh/config"))
{
New-Item -Path "$Env:USERPROFILE/.ssh/config" -ItemType "file" -Value ""
& icacls "$Env:USERPROFILE/.ssh/config" /inheritance:r
& icacls "$Env:USERPROFILE/.ssh/config" /grant:r "%username%":"(F)"
}
if (!(Test-Path -Path "$Env:USERPROFILE/.ssh/authorized_keys"))
{
New-Item -Path "$Env:USERPROFILE/.ssh/authorized_keys" -ItemType "file" -Value ""
& icacls "$Env:USERPROFILE/.ssh/authorized_keys" /inheritance:r
& icacls "$Env:USERPROFILE/.ssh/authorized_keys" /grant:r "%username%":"(F)"
}
if (!(Test-Path -Path "$Env:USERPROFILE/.ssh/id_rsa"))
{
& ssh-keygen -b 2048 -t rsa -f "$Env:USERPROFILE/.ssh/id_rsa" -q -N ""
echo ""
}
if (!(Test-Path -Path "$Env:USERPROFILE/.ssh/id_rsa.pub"))
{
& ssh-keygen -y -f "$Env:USERPROFILE/.ssh/id_rsa" > "$Env:USERPROFILE/.ssh/id_rsa.pub"
echo ""
}
# TODO use the comment (if any) for the name of the file
echo ""
echo "~/Downloads/id_rsa.$Env:USERNAME.pub":
echo ""
#rm -f "$Env:USERPROFILE/Downloads/id_rsa.$Env:USERNAME.pub":
Copy-Item -Path "$Env:USERPROFILE/.ssh/id_rsa.pub" -Destination "$Env:USERPROFILE/Downloads/id_rsa.$Env:USERNAME.pub"
& type "$Env:USERPROFILE/Downloads/id_rsa.$Env:USERNAME.pub"
echo ""