Konfigurowanie aliasu dla polecenia SSH w Windows PowerShell


0

W Windows PowerShell:

>ssh -i \Path\To\key.pem user@server.com Działa jak mistrz.

>Set-alias sshalias "ssh -i \Path\To\key.pem user@server.com" zapisuje alias bez błędów.

>sshalias zwraca następujący błąd:

sshalias : The module 'ssh -i ' could not be loaded. For more information, run 'Import-Module ssh -i '.

At line:1 char:1 + sshalias

+ CategoryInfo : ObjectNotFound: (ssh -i \Path\To\Key.pem user@server.com:String) [], CommandNotFoundException

`+ FullyQualifiedErrorId : CouldNotAutoLoadModule`

czego mi brakuje?

Odpowiedzi:


1

Próbujesz wykonać cały ciąg jako polecenie. Polecenie brzmi ssh, potem są parametry po nim. (Oznacza to, że w systemie nie ma pliku wykonywalnego ani skryptu o nazwie „ ssh -i \Path\To\Key.pem "user@server.com"”.)

Rozwiązaniem jest prawidłowe wykonanie polecenia:

ssh -i \Path\To\Key.pem "user@server.com"

Ale alias PowerShell z definicji nie może mieć żadnych parametrów.

Obejściem tego problemu jest użycie funkcji:

function sshalias { ssh -i \Path\To\Key.pem "user@server.com" }

1

PowerShell nie zezwala, aby alias zawierał parametry polecenia. Zamiast tego, aby owinąć określone parametry polecenia w „alias”, użyj funkcji:

function sshalias {
    ssh -i \Path\To\key.pem user@server.com
}

Być może trzeba podać lub podać niektóre parametry; Nie używam ssh i mam niespójne wyniki z innymi starszymi poleceniami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.