我发现当从 Windows 通过 SSH 进入 UNIX VM 时,控制台几乎无法使用。
似乎有两个主要问题:
- 转义字符(颜色和光标键)
- 覆盖文本(主要在 Nano 中,但也在终端中)
第一个问题似乎可以通过使用 ConEmu 之类的工具来解决。
但第二个问题我就是解决不了。在任何地方使用删除键、终端中的命令历史记录或 Nano 中的向上/向下或向上/向下翻页都会覆盖大片文本,结果只是一堆乱码,包含新旧字符。
我发现更新屏幕的唯一方法是使用 CTRL+L 切换长行,但这不是一个真正的解决方案。
这发生在 cmd.exe、Git bash 以及我尝试过的其他几个程序中。正常、理智的人如何应对这种情况(除了使用 OSX/Linux!)?
干杯,戴夫
答案1
使用 Putty 或 NoMachine,从未出现过上述任何问题。
答案2
感谢其余的评论,我选择了 Putty 路线并取得成功。
尽管实际登录比较麻烦,但它解决了我上面概述的所有问题。
我正在回答我自己的问题,因为我的用例是针对 Laravel 的 Homestead,所以我认为分享我如何做到这一点会很有用。
编辑:我把所有这些信息以及其他一些信息汇总到一篇博客文章中,概述了如何使用 ConEmu 和 OpenSSH 来解决这两个问题,同时为您提供比单独使用 PuTTY 更多的功能:http://davestewart.io/blog/fix-windows-broken-ssh-console
Homestead 基于 Vagrant,我在这里找到了有关如何将 Putty 与 Vagrant 结合使用的信息:
从内部测试康德它给了我线索,ssh.exe
问题出在 Windows 本身,所以我只是添加了 Putty 作为一个新的控制台(尽管你可以单独运行它),并且在获得对 VM 的访问权限后,我使用 Nano 进行了测试,它“刚刚起作用”:
我还发现我可以从命令行使用 Git 的 OpenSSH 客户端进行 SSH 连接。
cd <open ssh folder> ssh [email protected] -p 2222
输入“yes”,然后输入“vagrant”作为密码。瞧!Nano 开始工作了。
如果要保存主机,请先以管理员身份运行命令提示符。
(如果这对于所有系统管理员来说都是显而易见的,我深表歉意!)