2015-08-15 123 views
3

这个问题线程解释我遇到很好的问题后键入/冻结,尽管它不涉及到一个CMD客户端: https://github.com/bliker/cmder/issues/347#issuecomment-111849036流浪/ Laravel家园SSH - 不能在一定的时间

这是对于Laravel Homestead实例,我正在运行Homestead 2.1.6,我目前有最新版本的Laravel/Homestead,Vagrant,VirtualBox(用于修复与Windows 10分开的问题)。

基本上,当我使用“homestead ssh”进入虚拟机的SSH时,除非我正在主动键入命令提示符,它会在停止约30秒后超时。窗口保持打开状态,但不再接受任何输入,除了上面链接中提到的退出顺序外。

这使得作曲家更新几乎不可能(除非我输入随机字符来保持连接活着)。我已经尝试了多个命令行客户端(Windows cmd,git bash,cmder),我已经安装了不同版本的VirtualBox和Vagrant几次,我尝试使用单独的OpenSSH实例来连接,而我已经尝试了ServerAliveInterval建议,我仍然遇到这个问题。

在我的电脑(也是Windows 8.1)上运行良好,但在Windows 8.1笔记本电脑上运行的Windows 10上,我无法正常工作。

任何想法?

编辑:正如我在下面的评论中提到的,我已经在〜/ .ssh /和cmder的配置目录中的config文件中尝试了ServerAliveInterval命令。这是正确的Windows?我可以检查这个配置是否被使用?

回答

2

这可能是SSH配置中的ServerAliveInterval的一般问题。 我没有使用Windows,所以我不知道在哪里(如果有)ssh_config文件。如果你会发现它,请设置类似的东西: ServerAliveInterval 10

而且我启用此设置:ForwardAgent yes

+0

我提到我尝试ServerAliveInterval无济于事。我在“〜/ .ssh/config”文件中有〜指向我的用户目录。我已经添加了ForwardAgent线,但没有区别。如果任何人都可以确认以上是在Windows上正确的文件名/位置,将不胜感激! – Rjs37

+0

我也尝试了cmder config目录,看到它可能一直在那里,但完全一样。 – Rjs37

1

我有同样的问题,虽然它只是发生在特定网络上。与他们的ISP的DNS提供商有关。

我用using Google's public DNS servers8.8.8.8修好了。

值得一试。

+0

不幸的是它没有工作。我使用的是无线网卡(我的笔记本电脑上没有网卡端口),所以我将dns的更改应用到该适配器,但没有看到任何区别。 – Rjs37

2

正如本页所示:http://www.solarpolar.co.uk/laravel-homestead-setup-on-windows-7/这可以通过使用流浪者来绕过。

第一类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 

注意宅基地虚拟机的ID,在这种情况下57a7a6a

其次,你的ssh与vagrant ssh命令和提到的ID,像这样:

vagrant ssh 57a7a6a 

而且完成了!没有更多的冻结。

0

正如卡洛斯所说,你可以使用:

vagrant ssh {vagrant_id} 

,或者你可以创建一个别名,不知道vagrant_id使用一个命令。

vi ~/.bashrc 

粘贴在这些线路:

alias homestead_ssh="homesteadSsh" 
function homesteadSsh(){ 
     vagrant ssh $(vagrant global-status | grep homestead | awk '{print $1}') 
} 

保存,并运行此应用更改

. ~/.bashrc 

,现在你可以简单地在你的终端使用homestead_ssh。