Charger automatiquement les clés SSH avec pagent et powershell

Si comme moi vous vous connectez souvent via PuTTY aux consoles de vos serveurs GNU/Linux, et que vous utilisez des clés ppk, alors comme moi, vous êtes un peu las de toujours devoir rechercher les clés et les charger à la main. On peu bien sûr créer un script contenant toutes les clés qui seront chargées dans pagent, mais il faut rajouter chaque clé dans le script. J’ai donc écrit un tout petit script Powershell qui lit les fichiers présent dans un répertoire donné, et les charge dans le pagent.

$pathkeys = "c:\cle\ssh"
$archi = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
 
if ($archi -eq "64 bits")
	{
	$ProgramPath = 'C:\Program Files (x86)'
	}
else
	{
	$ProgramPath = 'C:\Program Files'
	}
 
$list = Get-ChildItem $pathkeys -Include "*.ppk" -Recurse
 foreach ($item in $list) {
 $key = $item.Name
 $fullkey = $pathkeys + "\" + $key
 $keys = $keys + ' ' + '"' + $fullkey + '"'
 }
Start-Process "$ProgramPath\Putty\pageant.exe"$keys

Il suffit ensuite de mettre toutes vos clés dans le répertoire définit par la variable $pathkeys.