O ArchLinux Virtual Machine só pode efetuar login através do SSH após efetuar login através do virt-manager

1

Eu instalei duas máquinas virtuais ArchLinux no meu servidor CentOS com o virt-manager no KVM. Os endereços IP são 192.168.1.138 e 192.168.1.183. Após a instalação, instalei o OpenSSH e copiei as chaves SSH. Tentei fazer login e obtive sucesso.

Depois, reiniciei as máquinas virtuais e as iniciei com comandos virsh. Foi quando recebi o erro "Conexão recusada" quando tentei efetuar login usando o ssh. Ping nas VMs mostra que as redes estão funcionando bem.

255 hans@archie ~ % ssh root@arch1                                                                                            
ssh: connect to host arch1 port 22: Connection refused

hans@archie ~ % ssh -vv root@arch1                                                        
OpenSSH_7.8p1, OpenSSL 1.1.1  11 Sep 2018
debug1: Reading configuration data /home/hans/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "arch1" port 22
debug2: ssh_connect_direct
debug1: Connecting to arch1 [10.20.60.138] port 22.
debug1: connect to address 10.20.60.138 port 22: Connection refused
ssh: connect to host arch1 port 22: Connection refused

255 hans@archie ~ % ping arch1                                                                                             
PING arch1 (10.20.60.138) 56(84) bytes of data.
64 bytes from arch1 (10.20.60.138): icmp_seq=1 ttl=64 time=0.286 ms
64 bytes from arch1 (10.20.60.138): icmp_seq=2 ttl=64 time=0.288 ms
64 bytes from arch1 (10.20.60.138): icmp_seq=3 ttl=64 time=0.292 ms

O problema é que se eu "ABRIR" as máquinas virtuais no virt-manager e logar lá, então eu posso ssh para as VMs.

As chaves SSH funcionaram bem nos meus 2 outros servidores CentOS, e os endereços IP são respectivamente: 192.168.1.101 e 192.168.1.202.

    
por Hans Xeng 22.09.2018 / 14:42

2 respostas

2

Eu tive o mesmo problema com as VMs do Arch e também achei que poderia esperar por 5 minutos ou fazer login via virt-manager.

O problema é com o gerador de números aleatórios retardando a inicialização:

# journalctl  --since 13:23  | grep crng
Oct 06 13:23:04 apsis kernel: random: get_random_bytes called from start_kernel+0x95/0x535 with crng_init=0
Oct 06 13:28:03 apsis kernel: random: crng init done

Veja link para detalhes.

Eu segui a sugestão de instalar o Haveged e agora posso fazer o login imediatamente após a reinicialização. O init crng agora leva apenas um segundo em vez de 5 minutos.

Espero que isso ajude.

    
por 06.10.2018 / 15:02
1

Eu verifiquei os logs do OpenSSH com journalctl, e o servidor OpenSSH começou a escutar a porta 22 minutos depois que foi iniciado:

journalctl -u sshd | tail -100

Abaixo estão algumas extrações:

-- Reboot --
Sep 23 00:28:47 arch3 systemd[1]: Started OpenSSH Daemon.
Sep 23 00:32:12 arch3 sshd[242]: Server listening on 0.0.0.0 port 22.
Sep 23 00:32:12 arch3 sshd[242]: Server listening on :: port 22.

-- Reboot --
Sep 23 00:46:03 arch1 systemd[1]: Started OpenSSH Daemon.
Sep 23 00:51:16 arch1 sshd[249]: Server listening on 0.0.0.0 port 22.
Sep 23 00:51:16 arch1 sshd[249]: Server listening on :: port 22.
    
por 22.09.2018 / 19:08