У меня есть гостевая виртуальная машина Vagrant с FC18 на хосте с FC19. Гостевой vagrantfile включает общедоступную сеть (config.vm.network 'public_network'). После того, как бродяга, я могу видеть ifconfig
три сетевых интерфейса гостя:
- lo: 127.0.0.1
- p2p1: 10.0.2.15
- p7p1: 10.3.76.86 (из dhcp)
Я могу SSH к гостю с хоста, используя vagrant ssh
или ssh -p 2222 vagrant@127.0.0.1
который использует автоматически назначенный перенаправитель портов 2222 (хост) -> 22 (гость) в автоматически создаваемой частной сети. Если я пытаюсь выполнить ssh с хоста в общедоступную сеть на гостевой машине , используя: ssh -p 22 vagrant@10.3.76.86
, я получу ответ SSH: « Отказано в Connection refused
. Это странно, но еще более странно то, что если я перейду на совершенно другой (Windows) хост (в той же сети) и ssh -p 22 vagrant@10.3.76.86
, я смогу (иногда) успешно подключиться. Я иногда говорю, потому что мне нужно повторить команду ssh 10 или 15 раз (получая ответ с bad file number
), прежде чем я в конечном итоге получу успешное соединение SSH. Если я оставляю запрос SSH открытым в течение 3 или 4 минут, он отключается с connection reset by peer
.
Что тут происходит? Как мне получить надежный SSH для публичной сети на гостевой? Прежде чем вы это предложите, SELinux находится в разрешающем режиме на гостевой и хост-машине, и я остановил службу iptables на обоих. Сеть также поддерживает множество соединений SSH между другими узлами без проблем. Гость Vagrant может также использовать SSH без проблем для других хостов. Только когда SSHing к гостю Vagrant, мы получаем эти странные ошибки.
Вывод из ssh -p 22 vagrant@10.3.76.86
на хосте FC19:
$ ssh -vvv -p 22 vagrant@10.3.76.86
OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.3.76.86 [10.3.76.86] port 22.
debug1: connect to address 10.3.76.86 port 22: Connection refused
ssh: connect to host 10.3.76.86 port 22: Connection refused
Вывод из ssh -p 22 vagrant@10.3.76.86
на хосте Windows (при сбое ):
$ ssh -vvv -o LogLevel=DEBUG3 -i /c/Users/xxx/.ssh/vagrant -p 22 vagrant@10.3.76.86
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.3.76.86 [10.3.76.86] port 22.
debug1: connect to address 10.3.76.86 port 22: Connection refused
ssh: connect to host 10.3.76.86 port 22: Bad file number