VMware ESXi で SSH アクセスを扱うのは、特に SSH で接続して何気なく作業することに慣れている場合は、少し面倒です。デフォルトでは、SSH サービスはオフになっています。これはおそらく、VMware がセキュリティのためにロックダウンを好むためです。しかし、トラブルシューティング、アップデート、または簡単なコマンドライン調整のためにリモートで接続する必要がある場合があります。問題は、ESXi ホストに SSH で接続しようとすると、標準のエラーが発生する可能性があることです。ssh: connect to host 192.168.50.13 port 22: Connection refusedこれは、SSH がまだ有効になっていないためです。幸いなことに、DCUI、vSphere Web Client、さらには VMware PowerCLI を使用した PowerShell など、SSH を有効にする方法は多数あります。ここでは、頭を悩ませることなく ESXi サーバーと SSH で通信する方法を説明します。作業を終えた後は、SSH を再び無効にすることがベストプラクティスであるため、その部分も忘れないようにしてください。
VMware ESXi で SSH アクセスを有効にする方法
DCUIコンソールからSSHを有効にする簡単な方法
昔ながらの方法をお好みなら、DCUI(ダイレクト・コンソール・ユーザー・インターフェース)を使うのが簡単です。特にサーバーの近くにいる場合やコンソールにアクセスできる場合は、DCUIを使うのが最も手っ取り早い解決策です。設定によっては、ログイン画面でF2キーを押してルートパスワードを入力するだけで済む場合もあります。
- F2 キーを押してDCUI にログインします。
- [システムのカスタマイズ] -> [トラブルシューティング オプション]に移動します。
- 「SSHを有効にする」を選択し、Enterキーを押します。これにより、SSHサービスがすぐに開始されます。
SSHを有効にすると、お好みのSSHクライアントを使って接続できます。例えば、Windowsでは、組み込みのSSHクライアントまたはPuTTYを使用します。
接続すると、ESXi シェルにアクセスでき、ホストのアップデート、トラブルシューティング、または微調整を行うコマンドを実行できます。念のためお知らせしますが、作業が完了したら、SSH を無効にしてセキュリティを万全にしておくことをお勧めします。
vSphere Web Client で SSH を有効にする – グラフィックを好む人向け
スタンドアロンのESXiを実行している場合、またはvCenterを使用している場合は、この方法の方が便利です。https: //192.168.50.13/ui/#/hostでWebインターフェースにログインします。そこから以下の手順を実行します。
- [管理] -> [サービス]に移動します。
- TSM-SSHサービス (SSH デーモン)を見つけます。
- 選択して「開始」をクリックします。実行中と表示されます。
- ホストの起動時に SSH を自動的に開始する場合は、[アクション] -> [ポリシー] -> [ホストとともに開始および停止]をクリックします。
ホストが vCenter 経由で管理されている場合は、インベントリでホストを見つけて、[構成] -> [サービス]に移動し、同じ操作を実行します。つまり、SSH を起動し、必要に応じてポリシーを設定します。
ああ、ネットワーク設定にはファイアウォールタブがあり、特定の IP への SSH アクセスを制限できます。セキュリティが心配な場合には便利です。
PowerShell と VMware PowerCLI で SSH を有効にする
これは少し高度な手順ですが、既にPowerCLIをお使いの場合は簡単です。まず、PowerCLIがインストールされていることを確認してください(インストールされていない場合は を実行してくださいInstall-Module -Name VMware. PowerCLI)。次に、ESXiまたはvCenterに接続します。
Connect-VIServer <vCenter_or_ESXi_host_FQDN>
重要: vCenter で自己署名証明書を使用している場合は、まずこれを実行してください。
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn
これはSSL警告を回避するだけです。接続中のすべてのホストの現在のSSHステータスを確認するには、以下のコマンドを実行します。
Get-VMHost | Get-VMHostService | Where-Object { $_. Key -eq "TSM-SSH" } | Select-Object VMHost, Key, Running, Policy
特定のホストでSSHを有効にする準備はできましたか?mun-esxi1をホスト名に置き換えてください。
Get-VMHost -Name mun-esxi1 | Get-VMHostService | Where-Object { $_. Key -eq "TSM-SSH" } | Start-VMHostService
LockDown モードのままになっている場合は、次を実行します。
(Get-VMHost -Name mun-esxi1 | | Get-View).ExitLockdownMode()
または、後で再度ロックダウン モードを有効にします。
(Get-VMHost -Name mun-esxi1 | | Get-View).EnterLockdownMode()
すべてのホストでSSHを停止したいですか?簡単です。次のようにするだけです。
Get-VMHost | Foreach { Stop-VMHostService -confirm:$false -HostService ($_. ExtensionData. Config. Service | where Key -eq "TSM-SSH") }
これにより、すべてのSSH接続がすぐに停止されます。ログイン警告をミュートするには、以下の手順を実行してください。
Get-VMHost | Get-AdvancedSetting UserVars. SuppressShellWarning | Set-AdvancedSetting -Value 1
最後に、完了したら接続を解除することを忘れないでください。
Disconnect-VIServer * -Confirm:$false
重要なのは、SSHを有効にすると、コマンドラインから素早くアクセスして問題の修正、アップデートの実行、ネットワーク関連のトラブルシューティングを行えるようになることです。ただし、作業が終わったら責任を持ってSSHをオフにしてください。VMwareは私たちと同様にセキュリティを重視しています。
まとめ
ESXiでSSHを有効にするのはそれほど難しいことではありませんが、手順を忘れたり、インターフェースのオプションに気を取られたりしがちです。DCUI、vSphere Web Client、PowerCLIのいずれを使用する場合でも、手間をかけずに素早くターミナルにアクセスできるようにすることが重要です。SSHが使えるようになれば、簡単な修正や詳細な調査を行う余地が広がります。ただし、設定が完了したら、セキュリティを確保するためにSSHを無効にすることを忘れないでください。
まとめ
- サーバーにいる場合は、DCUI を使用してオプションをすばやく有効化します。
- vSphere Web Client で、TSM-SSH サービスを手動で開始し、自動開始のポリシーを設定します。
- PowerCLI は、複数のホストでの SSH の有効化/無効化を自動化するのに最適です。
- 安全を保つために、使用していないときは常に SSH をオフにしてください。
これが役に立つことを祈る
これでESXiホストのトラブルシューティングや管理にかかる時間が少しでも短縮されることを願っています。これらの機能がデフォルトで無効になっているのは少し奇妙に思えますが、やり方さえ分かれば、数クリックまたはコマンドで簡単に設定できます。トラブルシューティングがうまくいくことを祈っています!