Não é possível obter acesso SSH do host MacOS ao convidado QEMU Sparc

3

Não sei se estou no fórum certo, mas aqui está o meu problema:

Eu instalei um Debian Sparc64 convidado com o QEMU em um MacOS 10.9.5. Eu tento obter acesso ssh entre host e convidado, sem sucesso.

Eu quero encontrar uma solução simples. Pelo que tenho visto, inicio o Sparc64 com as seguintes opções:

qemu-system-sparc64 -hda debian_sparc64.img -m 2048 -net nic -net user,hostfwd=tcp::2222-:22 -nographic

Depois, tento me conectar ao guest do meu host MacOS com:

ssh -p 2222 localhost

Infelizmente, o comando acima não pede uma senha, ele fica bloqueado.

Se alguém puder ver o que está errado, não há problema em me avisar.

Atenciosamente

UPDATE 1:

Quando a VM do QEMU está em execução,

aqui estão os resultados, no host MacOS, de:

nmap localhost -p 22

Starting Nmap 6.47 ( http://nmap.org ) at 2017-09-16 22:44 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT   STATE SERVICE
22/tcp open  ssh

e os resultados, também no host MacOS, de:

nmap localhost -p 2222

Starting Nmap 6.47 ( http://nmap.org ) at 2017-09-16 22:45 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
PORT     STATE SERVICE
2222/tcp open  EtherNet/IP-1

Esqueci-me de dizer que a imagem QEMU utilizada (debian 9.0 Sparc64 guest) não tem por padrão "servidor SSH" em execução, como é mostrado com este comando na raiz:

# ps aux | grep ssh 
root       299  0.0  0.0   7168  1952 ttyS0    S+   22:51   0:00 grep ssh

Eu tenho, no entanto, "SSH Client" (quero dizer, o comando " ssh "), mas não sei como me conectar ao host MacOS do guest Debian Sparc64.

O problema é que eu não posso instalar outros pacotes além daqueles fornecidos pela imagem Debian-Sparc64 QEMU porque eu não tenho a rede neste guest (ou seja, eu não posso usar apt-get install ).

Se alguém puder ver como contornar esse problema?

Certamente, seria necessário instalar a rede (porta 80) no guest, mas com um host MacOS, parece ser difícil, com pontes e interfaces virtuais ...

Qualquer ajuda é bem-vinda

UPDATE 2:

A partir dos conselhos de @Stefan M , depois de instalar o Squid , tentei usar a opção guestfwd iniciando desta forma:

  qemu-system-sparc64 -hda debian_sparc64.img -m 2048 -net user,guestfwd=tcp::3128-:3128 -nographic

e recebo o seguinte erro:

qemu-system-sparc64: -net user,guestfwd=tcp::3128-:3128: could not open guest forwarding device 'guestfwd.tcp.3128'
qemu-system-sparc64: -net user,guestfwd=tcp::3128-:3128: Device 'user' could not be initialized

Você poderia me dizer o que eu tenho que fazer (resultados obtidos com o MacOS 10.9.5)?

UPDATE 3:

Eu encontrei um tutorial sobre este link . Seguindo esta página, eu fiz:

  1. Drivers TUN / TAP instalados pela primeira vez para conectar a NIC da VM ao meu host do OS X

  2. iniciou o QEMU com:

qemu-system-sparc64 -hda debian_sparc64.img -m 2048 -net nic -net tap,script=no,downscript=no -nographic

  1. Quando o QEMU inicializa, eu corro para outro terminal no Host (MacOS 10.9.5): %código%

De fato, minha rede local usa IP 192.168.1.x.

  1. Em ifconfig tap0 192.168.1.21 do Debian Sparc64 convidado, eu defini:

/etc/network/interfaces

Infelizmente, não consigo acessar SSH do host MacOS para Convidar ou de convidado para host MacOS (fazendo, por exemplo, " auto eth0 iface eth0 inet static address 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.21 " do host), até mesmo iniciando o qemu-system-sparc64 com raiz .

Se alguém puder ver o que está errado.

Atenciosamente

    
por youpilat13 16.09.2017 / 21:21

1 resposta

2

Por favor, tente primeiro se o host é acessível. Isso pode ser feito facilmente usando o nmap . Para o seu caso, isso deve ser suficiente:

nmap localhost -p 22

Se disser que a porta está aberta, você deve procurar o sshd no convidado. Se for filtrado, talvez um problema de firewall no seu convidado (entrada) ou no seu host (de entrada / saída do local).

Na atualização:

Simplificando, você tem duas opções:

1) Use uma rede em ponte, por exemplo, conforme descrito em aqui , para que você possa instalar o sshd .

2) Use guestfwd . Como você já estabeleceu uma conexão (port forwarding) via qemu em uma direção, você pode facilmente fazer o mesmo ao contrário:

  • Instale um proxy no seu host (squid, tinyproxy, whatever)
  • Aponte o convidado para o seu proxy: (abaixo parte não testada do seu comando):

guestfwd = tcp :: 3128-: 3128

  • Por último, mas não menos importante: use http_proxy para os comandos apt ou defina a variável para todo o sistema.

Quando você finalmente tiver o sshd em execução, você poderá se conectar ao sistema guest via ssh.

Na segunda atualização:

Se eu entendi a documentação corretamente, você deve fornecer os endereços IP junto também. Meu palpite é que você tente encaminhar a porta para o mesmo host (possivelmente de convidado para convidado).

guestfwd=[tcp]:server:port-dev

Forward guest TCP connections to the IP address server on port port to the character device dev

Portanto, deve ser algo assim:

guestfwd=tcp:10.0.2.100:3128-tcp:10.10.1.1:3128

Isso enviaria todas as conexões na porta 3128 do convidado para o IP 10.10.1.1 a 10.0.2.100.

    
por 16.09.2017 / 22:14

Tags