Терминальный клиент SSH с открытым исходным кодом для Windows с вкладками, аутентификацией с закрытым ключом и т. д.

Переносим сюда вопрос, заблокированный на ServerFault , с некоторыми уточнениями:

  • поскольку ничто не гарантирует, что эмуляторы терминалов с закрытым исходным кодом не позвонят домой с вашими данными для входа или закрытыми ключами, я ищу клиент SSH с открытым исходным кодом.
  • сеансы с вкладками обязательны - в PuTTY их нет
  • встроенная передача файлов с удаленного сервера на мою локальную машину (ZMODEM или SFTP). Пример использования: я хочу как можно быстрее передать конкретный удаленный файл в Windows. SecureCRT, XShell, ZOC поддерживают ZMODEM, и я могу сделать sz myfile. Это дисквалифицирует PuTTY , потому что я не собираюсь вводить полную pscpкоманду каждый раз, когда мне нужно получить файл.

В Википедии есть сравнение клиентов SSH . Другие желаемые функции:

  • настраиваемые сочетания клавиш
  • настраиваемые цвета или хотя бы светлая тема

Лучшим кандидатом, который я нашел до сих пор, является MobaXTerm ( источники - хотя неясно , насколько он открыт), который смехотворно хорош (переадресация X11 для экспорта удаленного дисплея с сервера на ваш компьютер с Windows!), но действительно странный в немного уважения:

  • сообщества почти нет. Нет GitHub/SourceForge, нет форума, нет отслеживания проблем
  • он раздут всевозможными бессмысленными инструментами, такими как лоботомированный в текстовом режиме Wireshark для захвата сетевого трафика, калькулятор (да, тот, что идет с Windows, не годится), список аппаратных устройств в текстовом режиме в Windows (?! ), инструмент для просмотра каталогов (они серьезно пытаются придумать что-то лучше, чем, скажем, BeyondCompare?) или Cygwin и кучу других команд для улучшения работы терминала Windows.

Дисквалифицирован:

  • mRemoteNG — с открытым исходным кодом, но без поддержки аутентификации с закрытым ключом. Кажется, просто вставляет PuTTY.
Что означает «сеансы с вкладками»? Если вы хотите иметь несколько вкладок, почему бы не использовать общую утилиту вкладок плюс PuTTY?
@Gilles: потому что я не хочу использовать такой хак, и любой серьезный терминальный клиент поддерживает сеансы с вкладками со всеми вытекающими последствиями ( например, выполнение команд на нескольких машинах или профили сеансов, которые можно применять к нескольким сеансам) .
«Любой серьезный терминальный клиент поддерживает сеансы с вкладками»: э-э, нет, это заведомая ложь. Если вы хотите выполнять команды на нескольких машинах, это отдельная функция, о которой вам нужно упомянуть. «Профили сеансов, которые можно применять к нескольким сеансам» звучит как тавтология.
Мне жаль, что тебя разозлил мой тон. ZOC имеет профиль сеанса, поэтому один и тот же профиль можно применять к нескольким сеансам. И меня на самом деле не волнует выполнение команд на нескольких машинах. Просто клиент терминала, созданный с учетом поддержки нескольких сеансов, может быть улучшен для обработки подобных функций, в то время как клиент с одним сеансом, такой как PuTTY, потребует гораздо больше работы.
MobaXterm находится в мертвой зоне между открытым исходным кодом (большинство вещей в нем) и закрытым исходным кодом (я считаю, что оболочка, которая делает большинство интересных вещей, не является FOSS), что, вероятно, объясняет отсутствие сообщества. Я подозреваю, что «нечетные» функции можно удалить / настроить в платной версии.
@JourneymanGeek: я сделал ссылку на ваш комментарий. Они упоминают об удалении игровых функций, но ничего о других вещах.
Существует также плагин Google Chrome SSH , созданный, используемый и имеющий открытый исходный код Google. Хотя он не имеет всех функций, о которых вы просили, но его действительно легко использовать, поскольку он работает как вкладка браузера.
Терминальные программы имеют вкладки, ssh - это не терминальная программа, это прокси-сервер оболочки (он заменяет оболочку на локальном конце), поэтому просто получите терминальную программу и запустите в ней все свои оболочки. Это то, что делают большие мальчики (пользователи Unix/Linux).
@ user1066946: интересно; однако Chrome постоянно дает сбой, потому что я использую много вкладок.
@richard: спасибо за снисходительный ответ. Я просил программу для Windows, а не для Unix/Linux.
Я не говорил вам, чтобы вы получили программу Unix, я сказал, что разделение эмуляции терминала и другой функциональности (ssh) не является хаком. Это хорошая практика.

Ответы (1)

Как вы уже упоминали о PuTTY, я могу порекомендовать вам одну вещь, которую я использую на работе: MTPuTTY . Это родная оболочка Windows для PuTTY , которая в основном добавляет функцию «вкладки», которая вам нужна. Он интегрирует PuTTY , поэтому у вас есть все ваши сохраненные сеансы. Вы можете прикрепить уже запущенные однооконные сеансы PuTTY или отсоединить вкладку, чтобы стать таковой. Еще один плюс: он доступен в виде портативного приложения, поэтому установка не требуется.

Но хотя MTPuTTY предоставляется бесплатно, к сожалению, он не имеет открытого исходного кода. С другой стороны, это PuTTY , работающий с сессиями, а MTPuTTY просто обслуживает «коллекцию и организацию окон», так что это может вам подойти.

MTPuTTY
MTPuTTY с несколькими открытыми вкладками, одна даже с раздельным просмотром (щелкните изображение, чтобы увеличить его)


Если открытый исходный код является для вас серьезным требованием, взгляните также на superputty , который предлагает аналогичный набор функций, что и MTPuTTY (я использовал его до перехода на MTPuTTY , так как я не мог заставить его работать с портативным версия PuTTY ). Он также поддерживает KiTTY , но небольшим недостатком может быть его зависимость от .NET 2.0 или выше.

superputty с несколькими открытыми вкладками передача файлов суперпутти
superputty: несколько открытых вкладок / передача файлов (нажмите на изображение, чтобы увеличить его)


Как указано в комментариях, вы можете использовать это вместе с KITTY вместо PuTTY . KITTY — это форк PuTTY , предлагающий экспериментальную поддержку ZModem.

Что касается ваших «настраиваемых цветов»: это снова можно сделать с помощью настроек PuTTY/KITTY . В моей настройке я использую, например, красный фон для обозначения производственных серверов (поскольку «красный» означает «опасность», поэтому я с особой осторожностью печатаю на этих вкладках ;)) С KiTTY вы даже можете использовать фоновые изображения.

Сам я (пока) не пользовался KiTTY , но по крайней мере один мой коллега ругается на него (раньше он тоже пользовался PuTTY ).

Интересная находка. Я добавил еще одну обязательную функцию, быструю передачу файлов. ZMODEM будет проще всего - поддерживает ли его MTPuTTY?
Как я уже писал: MTPuTTY - это просто оболочка вокруг PuTTY , и в основном ничего не делает, кроме как "организует" ваши окна PuTTY . Вся обработка сеансов выполняется PuTTY (альтернативно KITTY , я слышал, так что вы, возможно, тоже захотите взглянуть на него). Так что ваши "протоколы" должны поддерживаться последним :)
KITTY интересен, но еще один чудак (прямо как MobaXTerm :), когда дело доходит до форума («он фактически закрыт»), нормального хостинга исходного кода (разве эти французские разработчики SSH-клиентов не слышали о GitHub?) или веб-сайта. страница, которая кажется слепленной после 2000 года.
По крайней мере, у портативного варианта есть страница на sourceforge . Но, как я уже писал, я никогда не использовал KiTTY, поэтому я не проверял его более внимательно.
Прохладный! Я использую KiTTY почти всегда, так что superputty выглядит отличным дополнением к моему растущему набору инструментов. Спасибо, что поделился!
Мое самое первое взаимодействие с SuperPuTTY, в течение 1 минуты после его установки, было большим толстым сообщением об исключении .
SuperPuTTY непригоден для использования. Я импортировал сеанс PuTTY, который отлично работает. Я могу подключиться к нему с помощью «Подключить внешний», но не с помощью «Подключиться».
Должно быть что-то конкретное с вашей настройкой. Я использовал его около 2 лет без проблем, просто дважды щелкнув импортированные сеансы, чтобы открыть их. Я больше не использую его, так как перешел на MTPuTTY, поэтому больше не могу проверить.
@DanDascalescu Сообщение из будущего: лично я активно игнорирую github, потому что его купила Microsoft. Я использую gitlab.com . Но, вероятно, на гитхабе тоже есть зеркала putty.
@peterh-ReinstateMonica, поэтому я перенес большинство своих проектов из GH в Codeberg. GitLab работает на Google, поэтому я не хотел туда мигрировать. Но могу я спросить, что вы имеете в виду под замазкой зеркал на Github? Здесь не упоминался ни Github, ни рекомендованная шпатлевка.
Вот это да. Я использовал mtputty в течение многих лет. Я никогда не знал, что он поддерживает и другие функции.