
Я обнаружил, что при подключении по SSH к виртуальным машинам UNIX из Windows консоль практически бесполезна.
По-видимому, существуют две основные проблемы:
- Экранирование символов (из цветов и клавиш курсора)
- Перезапись текста (в основном в Nano, но также и в терминале)
Первую проблему, похоже, можно решить с помощью чего-то вроде ConEmu.
Но вторую я просто не могу решить. Использование клавиши Delete в любом месте, истории команд в терминале или вверх/вниз или page-up/down в Nano просто перезаписывает полосы текста, в результате чего получается просто искажённая мешанина старых и новых символов.
Единственный способ обновить экран, который я нашел, — это использовать сочетание клавиш CTRL+L для переключения длинных строк, но это не совсем решение.
Это происходит в cmd.exe, Git bash и нескольких других, которые я пробовал. Как нормальные, здравомыслящие люди справляются с этим (кроме пользователей OSX/Linux!) ?
Привет, Дэйв.
решение1
Используйте Putty или NoMachine, никогда не было описанных проблем ни с одним из них.
решение2
Благодаря остальным комментариям я пошел по пути Putty и добился успеха.
Несмотря на то, что вход в систему требует больше усилий, это решает все проблемы, которые я описал выше.
Я отвечаю на свой собственный вопрос, поскольку мой вариант использования был связан с Laravel's Homestead, поэтому я подумал, что будет полезно поделиться тем, как я это сделал.
РЕДАКТИРОВАТЬ:Я собрал всю эту информацию и еще кое-что в одном сообщении в блоге, в котором описал, как использовать ConEmu и OpenSSH для решения обеих проблем, предоставляя при этом больше функциональности, чем PuTTY в одиночку:http://davestewart.io/blog/fix-windows-broken-ssh-console
Homestead основан на Vagrant, и информацию о том, как использовать Putty с Vagrant, я нашел здесь:
От тестирования внутриCmderэто дало мне подсказку, что ssh.exe
проблема была в самой Windows, поэтому я просто добавил Putty как новую консоль (хотя вы можете запустить ее отдельно) и, получив доступ к виртуальной машине, провел тестирование с помощью Nano, и это «просто заработало»:
Я также обнаружил, что могу использовать SSH-клиент Git OpenSSH из командной строки.
cd <open ssh folder> ssh [email protected] -p 2222
Введите «yes», а затем «vagrant» в качестве пароля. Вуаля! Рабочий Nano.
Если вы хотите сохранить хост, то сначала запустите командную строку от имени администратора.
(Извините, если это все совершенно очевидно для всех вас, системных администраторов!)