Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

shutdown -h now powers a Linux VPS off immediately; it does not reboot it. After the command finishes, SSH is unavailable because the guest is no longer running. Open your VPS provider’s control panel, select the stopped instance, and use Start or Power on. Use Reboot only when the panel says the instance is still running or is stuck.

If you still have a live shell and the shutdown has not completed, a scheduled shutdown can sometimes be canceled with shutdown -c. For a deliberate reboot, use sudo shutdown -r now or sudo systemctl reboot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What shutdown -h now actually does

On a systemd-based Linux distribution, shutdown schedules a system state change. The -h option selects halt or poweroff, and now is an alias for +0, meaning the action starts immediately. The result is a normal operating-system shutdown, not a reboot.

The distinction matters because a powered-off virtual machine cannot answer network traffic. Your VPS may disappear from SSH, stop serving websites, and show connection timeouts even though the provider’s host hardware is healthy. Nothing is wrong with the SSH client; there is simply no running guest process to accept the connection.

Poweroff versus reboot

Intent Command Result
Immediate poweroff sudo shutdown -h now Stops the guest and leaves it powered off. now means immediate execution (+0).
Graceful reboot sudo shutdown -r now Stops services and starts the operating system again.
systemd reboot sudo systemctl reboot Requests a reboot through systemd.
Forced reboot sudo reboot -f (or the equivalent forced systemd form) Bypasses normal shutdown handling; use only when graceful methods fail.

The Ubuntu manual documents -h as equivalent to --poweroff unless an explicit halt action is selected. Its description of now as +0 explains why there is normally no useful cancellation window.

Turn the VPS back on from the provider panel

This is the correct recovery path once the guest has powered off. The labels vary by provider, but the workflow is broadly the same.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Wait briefly. Give the operating system time to flush data and complete the poweroff. Retrying SSH repeatedly during this interval does not accelerate startup.
  2. Test SSH once. A single connection attempt distinguishes a completed shutdown from a transient network problem. A timeout or refused connection after the wait is consistent with a stopped guest.
  3. Open the provider’s control panel. Sign in through the web portal or management interface you normally use for billing and instance administration. Do not rely on SSH for this step; SSH operates inside the guest and cannot start a machine that is off.
  4. Select the affected instance. Confirm the instance name, region, and address so you do not power-cycle the wrong server.
  5. Read the reported power state. A state such as Stopped, Powered off, or Shut down calls for Start or Power on. A state such as Running or Active may indicate that the shutdown is still finishing, that the panel has stale status, or that the guest is unresponsive.
  6. Start the instance. Confirm the action if the panel asks for it. Wait for the provider to report a running state before testing SSH again.
  7. Watch boot output when possible. Open the provider’s browser, serial, HTML, or equivalent console. Console output can reveal filesystem checks, failed mounts, kernel errors, or a boot prompt that SSH cannot show.
  8. Reconnect and verify services. Once the operating system has completed booting, connect with SSH and perform the post-start checks described below.

When the panel offers only “Reboot” or “Restart”

Provider terminology is not standardized. A Reboot control may send a graceful reboot request to the guest, while a Restart operation in an infrastructure API may mean a hard stop followed by a start. VPS.org, for example, defines its restart operation as stop then start. Jetstream2 documents both instance reboot management and console access.

Use the panel’s power-state information to choose the least disruptive action. If the instance is explicitly stopped, a reboot button may be unavailable or may fail; choose Start/Power on. If it is shown as running but does not respond, use the provider’s documented reboot operation and monitor the console. If the interface warns that the operation is a hard cycle, treat it as an emergency action rather than a routine graceful reboot.

If the shutdown has not completed yet

A shutdown scheduled for a future time can be canceled from a still-live shell with:

sudo shutdown -c

This removes a pending shutdown request. It is not a reliable undo for shutdown -h now: because now maps to +0, systemd may already be stopping services, unmounting filesystems, or terminating the session before you can issue the cancellation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If your actual intention is to reboot while the shell remains available, use one of these documented reboot selections:

sudo shutdown -r now
sudo systemctl reboot

Both request an orderly reboot through the operating system. Save work and stop application-level jobs first if they do not handle termination cleanly.

Post-start checks after the VPS is running

A successful power-on only proves that the virtual machine reached a running state. Check the operating system, storage, network, and application layers separately.

Confirm the new SSH session and uptime

ssh user@your-server.example
uptime
who -b

uptime gives the current boot age and load averages. who -b reports the last boot time on distributions that provide that field. Together they confirm that you are on a newly started system rather than an old, still-running session.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check failed systemd units

sudo systemctl --failed
systemctl status your-service.service

The first command lists units systemd marked failed. Replace your-service.service with a real unit, such as your web server, database, or application service. A unit can fail after a reboot because a dependency, mount, environment file, or network address was not ready.

Review the current boot log

sudo journalctl -b -p warning..alert
sudo journalctl -b --no-pager | tail -n 100

-b limits the query to the current boot. The priority filter shows warnings and more severe messages; the second command gives a recent tail when you need broader context. Look for storage errors, failed mounts, service timeouts, and repeated restart loops.

Verify filesystems and mounts

findmnt
lsblk
 df -h

findmnt shows active mount points, lsblk displays block devices, and df -h reports available space. Compare the results with the mounts and volumes your applications require. A missing data volume can leave the operating system reachable while making an application appear broken.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test listening services and application paths

sudo ss -tulpn
curl -I http://127.0.0.1/

The socket listing identifies processes listening on TCP or UDP ports. The local HTTP request tests the web service without involving DNS, a firewall outside the VPS, or a load balancer. Then test the public hostname or address from an external network.

Troubleshooting a failed start

The panel still says “stopped”

Refresh the instance view and verify that you are looking at the correct region and server. If the start request is rejected, record the exact error and the instance identifier. Use the provider’s documented API or support channel rather than issuing repeated power requests, which can create ambiguous state transitions.

The panel says “running,” but SSH times out

Use the browser or serial console to determine whether the guest finished booting. A timeout can result from a failed network service, a firewall rule, a missing interface configuration, or a boot process waiting for a mount. Console output separates those guest-level causes from a provider networking problem.

The guest stops during boot

Capture the console message before rebooting again. Common branches include emergency mode caused by an invalid filesystem entry, a volume that is not attached, or a service configured to block boot. Correct the underlying configuration from the console or recovery environment, then perform one graceful reboot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Applications are down even though SSH works

Check systemctl --failed, then inspect each application unit and its boot journal. Confirm that required mounts exist, credentials or environment files are readable, and the service is listening on the expected port. A reboot does not automatically repair a service that was disabled, failed, or dependent on an unavailable resource.

The provider action appears stuck

Do not assume that a second “restart” is harmless. Determine whether the provider documents restart as graceful reboot or stop/start. If the control panel exposes an API operation, use the documented request and retain its response or operation ID. Escalate to support with the instance ID, displayed power state, timestamps, and console output when the control plane cannot complete the action.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why forced reboot is a last resort

A forced reboot bypasses the normal init-system shutdown path. Debian’s documentation warns that filesystems may not be properly unmounted. That creates a risk of filesystem inconsistency and can also interrupt database or queue writes that were still in memory.

Use a forced form only when the guest is unresponsive and a graceful reboot cannot be completed. Prefer the provider’s documented recovery or console procedure, capture any available logs first, and run the post-boot storage checks afterward. Never use a forced reboot merely because a normal reboot takes longer than expected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choosing the right command next time

  • Choose sudo shutdown -h now when you intentionally want the VPS powered off and plan to start it later from the provider control plane.
  • Choose sudo shutdown -r now when you want the operating system to stop services and come back automatically.
  • Choose sudo systemctl reboot for the same reboot outcome when working directly with systemd.
  • Use a future shutdown time instead of now when you need a cancellation window; cancel it with sudo shutdown -c before the scheduled time.
  • Reserve sudo reboot -f or an equivalent forced systemd command for an emergency in which graceful methods have failed.

A practical recovery checklist

  • Wait for the poweroff to finish and make one SSH test.
  • Read the provider’s displayed power state.
  • Use Start/Power on for a stopped instance.
  • Use Reboot only when the provider reports a running or stuck instance and its semantics are understood.
  • Open the browser or serial console and watch boot output.
  • Reconnect with SSH after the panel reports the instance running.
  • Check boot time, failed units, journal warnings, mounts, disk space, listening ports, and application responses.
  • Save the panel error, console output, and instance identifier if provider support is required.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.