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です。
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秒しかかかりません。
お役に立てれば。
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.