Vagrant/Laravel Homestead SSH - 一段时间后无法 type/freezing
Vagrant/Laravel Homestead SSH - Can't type/freezing after a certain time
这个问题线程很好地解释了我遇到的问题,尽管它与单个 cmd 客户端无关:
https://github.com/bliker/cmder/issues/347#issuecomment-111849036
这是一个 Laravel Homestead 实例,我是 运行 Homestead 2.1.6,我目前拥有最新版本的 Laravel/Homestead box、Vagrant、VirtualBox (修复 Windows 10).
的单独问题
基本上,当我使用 "homestead ssh" 通过 SSH 进入 VM 时,除非我主动输入命令提示符,否则它会在大约 30 秒不活动后超时。 window 保持打开状态,但它不再接受任何输入,除了上面 link 中提到的退出序列。
这使得作曲家更新几乎不可能(除非我键入随机字符以保持连接有效)。
我尝试了多个命令行客户端(windowscmd,gitbash,cmder),我安装了不同版本的VirtualBox和Vagrant几次,我试过了使用单独的 OpenSSH 实例进行连接,我已经尝试了 ServerAliveInterval 建议,但我仍然遇到这个问题。
在我的电脑上(还有 Windows 8.1)没问题,但在我的 Windows 8.1 笔记本电脑上,现在 运行 在 Windows 10 上,我还没有能够让它正常工作。
有什么想法吗?
编辑:正如我在下面的评论中提到的,我在 ~/.ssh/ 和 cmder 的配置目录中的一个名为 config 的文件中尝试了 ServerAliveInterval 命令。这对 Windows 正确吗?我可以检查是否正在使用此配置吗?
这可能是 SSH 配置中 ServerAliveInterval
的一个普遍问题。
我没有使用 Windows,所以我不知道 ssh_config
文件在哪里(如果有的话)。如果你会找到它,请设置类似的东西:
ServerAliveInterval 10
我还启用了此设置:ForwardAgent yes
我遇到了同样的问题,尽管它只发生在特定的网络上。与他们的 ISP 的 DNS 提供商有关。
我通过 using Google's public DNS servers 8.8.8.8
修复了它。
值得一试。
原来我描述的冻结是在 Windows 上使用 "homestead ssh" 命令的问题。
已在此处描述:http://stagerightlabs.com/blog/running-homestead-2-on-windows
运行 "vagrant up" 工作正常(一旦我改用 "vagrant up" 重建机器)。这个问题一直让我发疯!
如本页所示:http://www.solarpolar.co.uk/laravel-homestead-setup-on-windows-7/这可以通过使用 vagrant 来规避。
首先键入 vagrant global-status
然后虚拟机列表将显示:
$ vagrant global-status
id name provider state directory
--------------------------------------------------------------------------------------------------------
4d0a8c6 default virtualbox saved C:/CarlosPC/vagrant_getting_started
57a7a6a default virtualbox running C:/Users/CarlosPC/AppData/Roaming/Composer/vendor/laravel/homestead
记下 homestead 虚拟机的 id,在本例中是 57a7a6a
。
其次,你是否使用 vagrant ssh
命令和提到的 id 进行 ssh,如下所示:
vagrant ssh 57a7a6a
大功告成!不再冻结。
正如 Carlos 提到的,您可以使用:
vagrant ssh {vagrant_id}
或者您可以创建别名并在不知道 vagrant_id 的情况下使用单个命令。
vi ~/.bashrc
将这些行粘贴到:
alias homestead_ssh="homesteadSsh"
function homesteadSsh(){
vagrant ssh $(vagrant global-status | grep homestead | awk '{print }')
}
保存,然后运行应用更改
. ~/.bashrc
现在您只需在终端中使用 homestead_ssh。
这个问题线程很好地解释了我遇到的问题,尽管它与单个 cmd 客户端无关: https://github.com/bliker/cmder/issues/347#issuecomment-111849036
这是一个 Laravel Homestead 实例,我是 运行 Homestead 2.1.6,我目前拥有最新版本的 Laravel/Homestead box、Vagrant、VirtualBox (修复 Windows 10).
的单独问题基本上,当我使用 "homestead ssh" 通过 SSH 进入 VM 时,除非我主动输入命令提示符,否则它会在大约 30 秒不活动后超时。 window 保持打开状态,但它不再接受任何输入,除了上面 link 中提到的退出序列。
这使得作曲家更新几乎不可能(除非我键入随机字符以保持连接有效)。
我尝试了多个命令行客户端(windowscmd,gitbash,cmder),我安装了不同版本的VirtualBox和Vagrant几次,我试过了使用单独的 OpenSSH 实例进行连接,我已经尝试了 ServerAliveInterval 建议,但我仍然遇到这个问题。
在我的电脑上(还有 Windows 8.1)没问题,但在我的 Windows 8.1 笔记本电脑上,现在 运行 在 Windows 10 上,我还没有能够让它正常工作。
有什么想法吗?
编辑:正如我在下面的评论中提到的,我在 ~/.ssh/ 和 cmder 的配置目录中的一个名为 config 的文件中尝试了 ServerAliveInterval 命令。这对 Windows 正确吗?我可以检查是否正在使用此配置吗?
这可能是 SSH 配置中 ServerAliveInterval
的一个普遍问题。
我没有使用 Windows,所以我不知道 ssh_config
文件在哪里(如果有的话)。如果你会找到它,请设置类似的东西:
ServerAliveInterval 10
我还启用了此设置:ForwardAgent yes
我遇到了同样的问题,尽管它只发生在特定的网络上。与他们的 ISP 的 DNS 提供商有关。
我通过 using Google's public DNS servers 8.8.8.8
修复了它。
值得一试。
原来我描述的冻结是在 Windows 上使用 "homestead ssh" 命令的问题。
已在此处描述:http://stagerightlabs.com/blog/running-homestead-2-on-windows
运行 "vagrant up" 工作正常(一旦我改用 "vagrant up" 重建机器)。这个问题一直让我发疯!
如本页所示:http://www.solarpolar.co.uk/laravel-homestead-setup-on-windows-7/这可以通过使用 vagrant 来规避。
首先键入 vagrant global-status
然后虚拟机列表将显示:
$ vagrant global-status
id name provider state directory
--------------------------------------------------------------------------------------------------------
4d0a8c6 default virtualbox saved C:/CarlosPC/vagrant_getting_started
57a7a6a default virtualbox running C:/Users/CarlosPC/AppData/Roaming/Composer/vendor/laravel/homestead
记下 homestead 虚拟机的 id,在本例中是 57a7a6a
。
其次,你是否使用 vagrant ssh
命令和提到的 id 进行 ssh,如下所示:
vagrant ssh 57a7a6a
大功告成!不再冻结。
正如 Carlos 提到的,您可以使用:
vagrant ssh {vagrant_id}
或者您可以创建别名并在不知道 vagrant_id 的情况下使用单个命令。
vi ~/.bashrc
将这些行粘贴到:
alias homestead_ssh="homesteadSsh"
function homesteadSsh(){
vagrant ssh $(vagrant global-status | grep homestead | awk '{print }')
}
保存,然后运行应用更改
. ~/.bashrc
现在您只需在终端中使用 homestead_ssh。