jak najlepiej zlokalizować poświadczenia openssh dla skryptu powershell uruchamianego przez SYSTEM

1

Mam w formularzu skrypt powershell

$commands = @"
    echo "1 + 2" | bc
"@

$commands | ssh [email protected]

W tej chwili konfiguruję klucze ssh przed czasem, ale problem polega na tym, że wywołanie mojego skryptu jest usługą uruchamianą w przestrzeni użytkownika SYSTEM, co z kolei oznacza, że ​​żaden z moich kluczy ssh nie został wygenerowany dla administrator lub user1234 się przyzwyczajają. irytująco, powoduje to zawieszenie klienta ssh powershell.

Co jest najlepszym rozwiązaniem i czy ktoś ma jakiś kod, aby mnie uruchomić?

  1. Mógłbym zrobić trochę PowerShell runas foo, aby zamienić się między użytkownikami, aby dać mi rodzaj „twardego punktu” użytkownika dla ssh
  2. Mogłem przenieść klucze ssh z ich domyślnego domu ~/.ssh, chociaż naprawdę nie wiem, co jest bezpieczne, a czego nie ma
  3. Mógłbym, przy nieznośnych kosztach operacyjnych, zaprzestać korzystania z usługi z użytkownikiem SYSTEM i próbować uruchomić wspomnianą usługę jako użytkownik za każdym razem, gdy wchodzę do biura.

Wielkie dzięki!

Groostav
źródło
1
Sugestia: Użyj psexec -s wygenerować lub zaimportować klucze do konta systemowego.
harrymc
1
@Seth Powershell ma wsparcie SSh w wersji 6. github.com/PowerShell/Win32-OpenSSH/releases
uSlackr
1
Czy próbowałeś użyć modułu PowerShell SSH z MS PowerShellGallery --- Find-Module -Name ' ssh '
postanote
1
@uSlackr dzięki, to ciekawe. Mimo to, jeśli spojrzysz na to, co robi OP, jasne jest, że nie używa polecenia cmdlet, a raczej przekazuje dane wejściowe do portu / OpenSSH. Moduł dla ssh nie zawiera żadnych funkcji, które faktycznie używają SSH w PowerShell, ale raczej port SSH dla Windows i moduł OpenSSHUtils. Chociaż dobrze jest wiedzieć, że nie korzysta z WSL. Posh-SSH byłby rzeczywistym modułem PowerShell, który pozwala korzystać z SSH w sposób PowerShell.
Seth
1
Wygląda na to, że może używać projektu Win32 i otworzył w tym celu problem na GitHub: github.com/PowerShell/Win32-OpenSSH/issues/1287
uSlackr