В Windows PowerShell:

>ssh -i \Path\To\key.pem user@server.com Работает как чемпион.

>Set-alias sshalias "ssh -i \Path\To\key.pem user@server.com" сохраняет псевдоним без ошибок.

>sshalias возвращает следующую ошибку:

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`

Что мне не хватает?

2 ответа2

1

Вы пытаетесь выполнить всю эту строку как команду. Команда ssh , после нее есть параметры. (То есть в вашей системе нет исполняемого файла или скрипта с именем " ssh -i \Path\To\Key.pem "user@server.com" ".)

Решение состоит в том, чтобы правильно выполнить команду:

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

Но псевдоним PowerShell по определению не может иметь никаких параметров.

Обходной путь должен использовать функцию вместо этого:

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

PowerShell не позволяет псевдониму включать параметры в команду. Вместо этого, чтобы обернуть определенные параметры команды в псевдоним, используйте функцию:

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

Вам может потребоваться процитировать или экранировать некоторые параметры; Я не использую ssh, и у меня были противоречивые результаты с другими устаревшими командами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .