Eu tenho uma VM do Vagrant executando o FC18 em um host executando o FC19. O arquivo vagrant do convidado inclui redes públicas (config.vm.network 'public_network'). Depois de um vagrant up, eu posso ver ( ifconfig
) três interfaces de rede no convidado:
Eu posso SSH para o convidado do host usando vagrant ssh
ou ssh -p 2222 [email protected]
que está usando o 2222 atribuído auto (host) - > Destinatário de porta 22 (convidado) na rede privada criada automaticamente . Se eu tentar ssh do host para a rede pública no guest usando: ssh -p 22 [email protected]
, recebo uma resposta SSH de: Connection refused
. Isso é estranho, mas ainda mais estranho é que, se eu mudar para um host completamente diferente (Windows) (na mesma rede) e executar ssh -p 22 [email protected]
, posso (ocasionalmente), conectar-me com êxito. Eu digo ocasionalmente porque tenho que repetir o comando ssh 10 ou 15 vezes (obtendo uma resposta de bad file number
), antes de finalmente obter uma conexão SSH bem-sucedida. Se eu deixar o prompt do SSH aberto por 3 ou 4 minutos, ele se desconectará com uma mensagem connection reset by peer
.
O que está acontecendo aqui? Como faço para obter SSH confiável para a rede pública no convidado? Antes de sugerir, o SELinux está em modo permissível tanto no guest como no host e eu parei o serviço iptables em ambos. A rede também suporta muitas conexões SSH entre outros hosts sem problemas. O convidado Vagrant também pode usar o SSH sem problemas para outros hosts. É apenas quando SSHing para o convidado Vagrant, que recebemos esses erros estranhos.
Saída de ssh -p 22 [email protected]
no host FC19:
$ ssh -vvv -p 22 [email protected]
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
Saída de ssh -p 22 [email protected]
no host do Windows (quando falhando):
$ ssh -vvv -o LogLevel=DEBUG3 -i /c/Users/xxx/.ssh/vagrant -p 22 [email protected]
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