удаленное взаимодействие Windows PowerShell не удается позвонить в PuTTY - PullRequest
1 голос
/ 06 декабря 2011

У меня включено удаленное взаимодействие Windows на моем компьютере разработчика, используя FreeSSHd и PuTTY в качестве SFTP-сервера и клиента.Я использую только открытую аутентификацию, имея закрытый ключ, загруженный в Pageant PuTTY.

Я использую Windows Powershell Remoting для выполнения вызова инструмента командной строки PSFTP в PuTTY (имеющего двоичную папку PuTTY в системной переменной среды PATH), используя код C # (используя сборку автоматизации и пространство имен Powershell).

Если я открою Windows Powershell и выполню этот вызов: invoke-command -computername 127.0.0.1 -filepath c: \ temp \ sftp \ invoke.ps1

Я получаю сообщение об ошибке:

Неустранимый: Отключен: Нет доступных поддерживаемых методов аутентификации (сервер отправлен: publickey)

При проверке журнала FreeSSHd Iсмотрите только это:

  • 12-06-2011 14:12:04 IP 127.0.0.1 Попытка соединения SSH.
  • 12-06-2011 14:12:04 IP 127.0.0.1 SSH отключен.

1 Ответ

1 голос
/ 09 марта 2012

(обходной)

Похоже, что проблема связана с комбинацией удаленного сеанса powershell (конвейер Powershell) и команды, вызываемой в этом сеансе. Я использовал PageAnt для получения расшифрованной подписи из закрытого ключа, но, глядя на журнал, кажется, что PSFTP не может «увидеть» PageAnt, что приводит к сбою аутентификации.

Я решил эту проблему (не очень рекомендуется с точки зрения безопасности, но это все в безопасной / не-интернет-среде): я использовал опцию PSFTP -i, чтобы показать местоположение закрытого ключа, и опцию -pw, чтобы предоставить пароль , Тогда вызов завершается успешно.

Надеюсь, есть лучший способ сделать это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...