ESXiホストへSSH接続に失敗 ネットワーク エラー: 接続が拒否されましたと表示される場合に関する情報です。
実は、結果、つまらない原因で私の場合は接続できなかったのですが、まずは、KBにある情報から紹介します。
SSH を使用した ESXi ホストへの接続が次のエラーで失敗する:ネットワーク エラー: 接続が拒否されました (1039095)
https://kb.vmware.com/s/article/1039095?lang=ja
・ESXi ホストを vCenter Server に追加できない
・SSH を使用して ESXi ホストに接続できない
・SSH を使用した ESXi ホストへの接続に失敗する
・次のエラーが表示される:
指定されたホスト(IP アドレス/ホスト名)に接続できません。ホストがネットワーク上で使用できないか、ネットワーク構成に問題がある、またはホストの管理サービスが応答していないことが原因の可能性があります(Cannot contact the specified host (IP Address/hostname). The host may not be available on the network, a network configuration problem may exist. or the management service on this host may not be responding.)。
・PuTTY を使用して ESXi ホストに接続できない
・PuTTY を使用した ESXi ホストへの接続時に次のエラーが表示される:
ネットワーク エラー:接続が拒否されました(Network error: Connection Refused)
・Tech Support モードが有効になっている。詳細は、 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910) を参照してください。
原因
この問題は、/etc/inetd.conf ファイルが空であるか、リモート シェル アクセスと VMware 認証デーモンの設定が正しくない場合に発生する可能性があります。
注: ESXi 5.0 では、inetd.conf ファイルは /var/run/ にあります。
解決方法
この問題を解決するには:
iLO、iLOM、DRAC、RSA、IP KVM などのカーネル ベースの仮想マシン (KVM) を使用して ESXi コンソールに直接接続し、ALT+F1 を押して root としてログインします。
テキスト エディタを使用して inetd.conf ファイルを開きます。
vi エディタを使用してファイルを開くには、次のコマンドを実行します:
# vi /etc/inetd.conf
/etc/inetd.conf ファイルの内容が次のようになっていることを確認します:
# Internet server configuration database
# Remote shell access
ssh stream tcp nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i -K60
ssh stream tcp6 nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i -K60
ESXi 5.0 では、Remote shell access の下の内容が次のようになっていることを確認します:
ssh stream tcp nowait root /usr/lib/vmware/openssh/bin/sshd sshd ++swap,group=host/vim/vimuser/terminal/ssh -i
ssh stream tcp6 nowait root /usr/lib/vmware/openssh/bin/sshd sshd ++swap,group=host/vim/vimuser/terminal/ssh -i
# VMware authentication daemon
authd stream tcp nowait root /sbin/authd authd
authd stream tcp6 nowait root /sbin/authd authd
ファイルへの変更を保存します。
注:または、WinSCP などのユーティリティを使用して正常な ESXi ホストから inetd.conf ファイルをコピーすることもできます。
次のコマンドを実行して、SSH デーモンを再起動して変更を有効にします:
# /etc/init.d/TSM-SSH restart
注: ESXi 5.x では次のコマンドを実行します:
/etc/init.d/SSH restart
私の場合は、ESXi初期構築後にSSHを有効にしていなかったのが原因でした。