web-dev-qa-db-ja.com

ArchLinux仮想マシンは、virt-managerを介してログインした後、SSHを介してのみログインできます。

KVMのvirt-managerを使用してCentOSサーバーに2台のArchLinux仮想マシンをインストールしました。 IPアドレスは192.168.1.138と192.168.1.183です。インストール後、OpenSSHをインストールし、SSHキーをコピーしました。ログインしてみましたが、成功しました。

次に、仮想マシンを再起動し、virshコマンドで起動しました。 sshを使用してログインしようとすると、「接続が拒否されました」というエラーが発生しました。 VMにpingを実行すると、ネットワークが正常に機能していることがわかります。

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

有線のことは、virt-managerで仮想マシンを「開いて」そこにログインすると、VMにSSH接続できるということです。

SSHキーは他の2つのCentOSサーバーで正常に機能し、IPアドレスはそれぞれ192.168.1.101と192.168.1.202です。

2
Hans Xeng

Arch VMでも同じ問題が発生し、5分間待つか、virt-managerを介してログインできることもわかりました。

問題は、乱数ジェネレーターが起動を遅くすることです。

# 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

詳細については、 https://bbs.archlinux.org/viewtopic.php?id=236696 を参照してください。

Haveged をインストールするという提案に従い、再起動後すぐにログインできるようになりました。 crng initは、5分ではなく1秒しかかかりません。

お役に立てれば。

3
triplanets

Journalctlを使用してOpenSSHログを確認したところ、OpenSSHサーバーが開始されてから22分後にポートのリッスンを開始することがわかりました。

journalctl -u sshd | tail -100

以下はいくつかの抜粋です:

-- 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.
1
Hans Xeng