Реализация SSH для cmd.exe

Есть ли реализация SSH2, которая будет работать в консоли Win32 (например, cmd.exe)?

Насколько мне известно (поправьте меня, если я ошибаюсь), мне известны следующие реализации SSH:

  • PuTTY — не запускается в консоли Win32
  • TeraTerm SSH — не работает в консоли Win32
  • SecureCRT — непомерная цена, не работает в консоли Win32.
  • SSH через Cygwin — огромная зависимость
Cygwin SSH работает в консоли Win32.
Вы также можете попробовать plink, который поставляется с замазкой. Поддержка консоли... очень ограничена (точнее, отсутствует) - она ​​не поддерживает никаких управляющих последовательностей, но если они вам не нужны, этого может быть достаточно.
SSH является зависимостью от Git для Windows. Он поставляется с набором инструментов в стиле POSIX, которые изначально работают под Windows через MinGW. MinGW, возможно, легче и более «родной» выбор по сравнению с Cygwin. Кроме того, установщик Git весит всего около 20 МБ и прост в установке.

Ответы (5)

Вы можете использовать OpenSSH для Windows :

  • свободно
  • работает с cmd
  • поддерживает SSH2
  • также обеспечивает функциональность SSH-сервера

введите описание изображения здесь

Как вы могли рекомендовать программное обеспечение, связанное с безопасностью, такое как ssh, которое не обновлялось с середины 2004 года, всего за пару месяцев до 10 лет?
ОП просто хочет клиента. Каких проблем с безопасностью вы опасаетесь у клиента?
Почему безопасность должна вызывать меньше беспокойства, если это клиент? Например, в старых версиях PuTTY есть несколько проблем с безопасностью.
@cnst Большинство атак касаются серверов, клиенты SSH довольно безопасны (немного менее, если вы подключаетесь к некоторым мошенническим серверам): chiark.greenend.org.uk/~sgtatham/putty/changes.html
Это зависит только от того, кто атакует; АНБ и GCHQ, вероятно, больше заинтересованы (и способны) в атаках на клиентов, чем только на серверы. Со страницы, на которую вы ссылаетесь arbitrary code execution on the client by a malicious SSH-2 server before host key verification, has been fixed, chiark.greenend.org.uk/~sgtatham/putty/wishlist/… , это именно та атака (с конца 2004 года, не меньше), позволяющая любому, кто контролирует ваш интернет-канал, владеть ты легко. Можете ли вы подтвердить, что неофициальный порт OpenSSH для Windows, выпущенный в середине 2004 года , безопасен от подобного?
Я не знаю: большую часть времени я подключаюсь к не вредоносным серверам.
И как вы можете быть уверены, что сервер, к которому вы подключаетесь, не является вредоносным?
Частная сеть OpenStack. Не говорю, что это на 100% безопасно, нет, но мне все же удается спать. В любом случае, на данный момент, я думаю, как вы говорите, мы (я оставляю это на усмотрение OP) должны проверить проблемы безопасности клиента OpenSSH с 2004 года и позволить OP решить, представляет ли это опасность для него. OpenSSH для Windows получает около 500 загрузок в день на SF, поэтому он по-прежнему довольно широко используется.

Не уверен, что это не по теме, но... Существует оболочка cmd для Windows под названием ConEmu, которая поддерживает вкладки и позволяет вставлять окна в эти вкладки:

Запуск экземпляра шпатлевки с хуком аргумента -new_consoleЗапуск экземпляра шпатлевки с хуком аргумента -new_console

Появляется графический интерфейс Putty, которого можно избежать с помощью правильных аргументов, переданных на первом шаге. Появляется графический интерфейс Putty, которого можно избежать с помощью правильных аргументов, переданных на первом шаге.Консоль Putty — это новая вкладка в окне ConEmu (обратите внимание, что разделение экрана вызвано «:s» в «-new_console:s».Консоль Putty — это новая вкладка в окне ConEmu (обратите внимание, что разделение экрана вызвано «:s» в «-new_console:s».

В каждой установке git присутствует исполняемый файл ssh. Расположение может меняться в зависимости от версии, но оно должно присутствовать. Обратите внимание, что исполняемый файл ssh не будет находиться в вашем PATH по умолчанию после установки git, поэтому он не будет работать из командной строки просто так.

Вместо того, чтобы добавлять папку в мой PATH (это добавило бы много исполняемых файлов, которых я хочу избежать), я использую скрипт ssh.bat, который находится в папке в моем PATH.

REM Note: this was the path for Git 2.6.2
REM the @ prevents the command being shown twice in the cmd window
REM %* forwards all parameters
@"c:\Program Files\Git\usr\bin\ssh.exe" %*
Мне нравится этот ответ, но Git просто использует здесь MSYS. И, если вы будете осторожны (например, используя Dependency Walker), вы можете извлечь то, что вам нужно, прямо из MSYS без необходимости устанавливать Git или MSYS.
Вы также можете просто использовать скрипт bat, чтобы добавить «C:\Program Files\Git\usr\bin» в переменную пути, после чего ssh.exeон будет вызываться напрямую с помощью ssh.set PATH=C:\Program Files\Git\usr\bin;%PATH%

Мне это было нужно для кроссплатформенного проекта. И поскольку ни один из других ответов точно не решил проблему для меня, я пошел дальше и построил ее:

32-битный ssh.exe: https://github.com/cubiclesoft/ssh-win32

64-битный ssh.exe: https://github.com/cubiclesoft/ssh-win64

Версия plinkPuTTY представляет собой консольное приложение, которое можно запустить из cmd.

Добро пожаловать в СР. Ответы только по ссылкам неприемлемого качества; пожалуйста, обновите, чтобы указать , почему вы рекомендуете это / прокомментировать стабильность / некоторые другие подробности.
Я думаю, что это правильный ответ. plink — хорошее решение этой проблемы, но похоже, что он предназначен для обработки скриптов, а не для предоставления пользовательского интерфейса для SSH. Я не могу понять, как заставить работать какие-либо визуальные элементы управления (например, irssi)