Remote access portal missing a server: how to find and restore it
For customers who open a remote access portal and cannot find the server they expect to connect to. This runbook helps you check the most common causes in the right order, from simple account and filter issues to agent, enrollment, and permission problems.
TL;DR — If a server is missing from your remote access portal, the most common causes are the wrong account/project, an active filter, missing access permissions, or the server not being enrolled and reporting in. Start with the portal view you are in, then check your role assignment, then confirm the server's access agent (small background service) is online and registered. Reading time: ~6 min
The scenario
It is a normal Tuesday afternoon and you need to log into a production server to check an urgent issue. You open the remote access portal, type the hostname you always use, and nothing shows up. A teammate says they can see "prod-web-02," but your list is empty or only shows a few unrelated machines. You are not sure whether the problem is your account, the portal view, or the server itself.
Symptoms
- The server list is empty, or the specific server name does not appear.
- Search returns no results for the hostname, for example:
No results found
- The portal shows a message like:
You do not have access to any resources
- The portal shows only servers from a different environment, team, or project.
- A direct link to the server opens an error such as:
Resource not found
or
Access denied
- A teammate can see the server, but you cannot.
- In the server's local logs, the access agent shows disconnect or registration errors such as:
agent: heartbeat failed
agent: not registered
agent: authentication failed
Likely causes
| Cause | How common | Quick check |
|---|---|---|
| You are in the wrong account, tenant, project, or environment view | Very common | In the portal, switch the account/project selector in the top navigation and search again |
| A filter or search term is hiding the server | Very common | In the portal, click Clear filters / reset search, then reload the server list |
| Your user or group is not assigned access to that server | Common | In your provider's dashboard, open Access/Permissions for the server and check whether your user or group is listed |
| The server is not enrolled/registered in the portal | Common | On the server, check the agent status with `systemctl status teleport |
| The agent is installed but offline because it cannot reach the control plane | Less common | On the server, test outbound HTTPS with curl -I https://example.com or your provider's portal URL |
| The server was renamed, moved to another group, or decommissioned | Less common | In the infrastructure dashboard, search by instance ID or IP instead of hostname |
Step-by-step diagnosis
-
Check that you are in the right portal scope.
- In your remote access portal, look for the account, organization, project, workspace, or environment selector in the top navigation or sidebar.
- Switch to the expected scope, then search for the hostname again.
- If the server appears now, this is your problem. Jump to Fixes → Wrong account, tenant, project, or environment view.
-
Clear filters and search terms.
- In the server list page, remove any text in the search box and click the portal's filter reset option, usually labeled Clear, Reset filters, or the
xon each filter chip. - Reload the page.
- If the server appears only after clearing filters, jump to Fixes → Filter or search is hiding the server.
- In the server list page, remove any text in the search box and click the portal's filter reset option, usually labeled Clear, Reset filters, or the
-
Confirm whether this is only affecting your account.
- Ask a teammate with the same expected access: "Can you see
server-namein the portal right now?" - If they can see it and you cannot, this strongly points to a permission issue. Jump to Fixes → Missing user or group permission.
- If nobody can see it, continue.
- Ask a teammate with the same expected access: "Can you see
-
Search by stable identifiers, not just hostname.
- In your cloud or hosting dashboard, copy the server's instance ID, VM name, or primary private IP, then search for that in the portal.
- If it appears under a different name, tag, or group, jump to Fixes → Server renamed, moved, or decommissioned.
-
Check the server's enrollment status in the provider dashboard.
- In your provider's dashboard, open the server/instance details page and look for any integration or remote access status panel. If your provider exposes agent health, check whether it says Online, Connected, Last seen, or similar.
- If it shows Not enrolled, Offline, or an old last-seen time, continue to the next step and then jump to Fixes → Server not enrolled or registered or Fixes → Agent installed but cannot reach the control plane.
-
If you have OS access through another path, check the agent service.
- Use the server console from your cloud provider first if available, or SSH/RDP if you already have another approved path.
- Run:
systemctl status teleport || systemctl status boundary-worker || systemctl status amazon-ssm-agent || systemctl status ssm-agent
- If you see
inactive,failed, orcould not be found, jump to Fixes → Server not enrolled or registered. - If the service is running but logs show repeated connection/authentication errors, jump to Fixes → Agent installed but cannot reach the control plane.
- Check outbound connectivity from the server.
- Run a simple HTTPS test:
curl -I https://your-portal-domain.example
- If you get timeout, DNS failure, or TLS handshake errors, this is likely a network or trust-store issue blocking the agent. Jump to Fixes → Agent installed but cannot reach the control plane.
- Review recent changes.
- Check your change log, infrastructure dashboard activity, or team chat for hostname changes, rebuilds, autoscaling replacement, or decommission work.
- If the server was replaced or removed, jump to Fixes → Server renamed, moved, or decommissioned.
View as text
[You] ---- 1. open portal ----> [Portal List]
| |
| 2. switch scope / clear filters | 3. still missing
v v
[Correct View] [Permissions Check]
|
| 4. not just you
v
[Server/Agent Check]
|
| 5. offline or unregistered
v
[Re-enroll / Repair]Fixes
Wrong account, tenant, project, or environment view
If your portal separates resources by account, project, workspace, or environment, switch to the correct scope and bookmark that exact page.
- In the portal, use the top navigation selector to choose the right account/project.
- If your team uses multiple environments, search for the server after switching to Production or the expected workspace.
- Save the correct URL as a bookmark named with the environment, for example
Portal - Production.
Verify it worked: the missing server appears in the list without changing anything on the server.
Filter or search is hiding the server
Clear all active filters and use a broader search.
- Remove status filters like Online only, Linux only, My resources, or tag filters.
- Search by partial hostname, instance ID, or IP address instead of the full display name.
- If the portal supports saved views, switch from a saved filtered view to the default all-resources view.
Verify it worked: the server appears after the filter reset and remains visible when the page reloads.
Missing user or group permission
If a teammate can see the server and you cannot, your account likely is not assigned to the right access group.
- In your provider's dashboard, open the server or resource details page, then open Access, Permissions, or Role assignments.
- Add your user or, preferably, the correct team group to the resource.
- If your organization uses an identity provider (IdP, your company login system), add yourself to the correct group there first, then wait for sync.
Example group check on a Linux host that uses local groups for SSH authorization:
id your.username
If the expected group is missing, an admin can add it with:
sudo usermod -aG ops-access your.username
Then refresh your login session.
Verify it worked: after permission sync or re-login, the server appears in the portal and the direct link no longer shows Access denied.
Server not enrolled or registered
If the server is not known to the portal, it must be enrolled again.
⚠️ Re-enrolling a server can briefly interrupt remote access sessions to that host. Do this during a safe window if the machine is in active use.
First, check whether the agent service exists:
systemctl status teleport || systemctl status boundary-worker || systemctl status amazon-ssm-agent || systemctl status ssm-agent
If the service is missing, install or re-install the agent using your provider's documented method. If the service exists but is stopped, start and enable it:
sudo systemctl enable --now teleport || sudo systemctl enable --now boundary-worker || sudo systemctl enable --now amazon-ssm-agent || sudo systemctl enable --now ssm-agent
Then review recent logs:
journalctl -u teleport -n 50 --no-pager || journalctl -u boundary-worker -n 50 --no-pager || journalctl -u amazon-ssm-agent -n 50 --no-pager || journalctl -u ssm-agent -n 50 --no-pager
If the logs mention not registered or authentication failed, re-run the enrollment step your agency provided, usually a one-time registration command or config file placement. Because vendor commands vary, use the exact enrollment command from your onboarding document or provider dashboard.
Verify it worked: the agent status becomes active (running) and the portal shows the server as online or recently seen.
Agent installed but cannot reach the control plane
The control plane is the provider service the agent talks to over the internet or private network.
Check DNS and HTTPS from the server:
getent hosts your-portal-domain.example
curl -I https://your-portal-domain.example
If DNS fails, fix the server's DNS resolver in your network or cloud settings. If HTTPS times out, allow outbound TCP 443 in the server firewall, security group, or egress policy.
On Linux with ufw (Uncomplicated Firewall), allow outbound HTTPS:
sudo ufw allow out 443/tcp
sudo ufw reload
On systems using firewalld:
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Then restart the agent:
sudo systemctl restart teleport || sudo systemctl restart boundary-worker || sudo systemctl restart amazon-ssm-agent || sudo systemctl restart ssm-agent
Verify it worked: curl -I returns an HTTP response and the agent logs stop showing heartbeat or connection failures.
Server renamed, moved, or decommissioned
If the server was rebuilt, autoscaled, renamed, or moved to another group, the old name may no longer exist in the portal.
- In your infrastructure dashboard, search by instance ID, private IP, or creation time.
- Check whether the original server was terminated and replaced by a new instance.
- Update any saved links, runbooks, and bookmarks to the new server name.
- If the server should still exist but was moved to another group, ask an admin to move it back or grant access in the new group.
Verify it worked: you can find the current instance by ID or IP, and the portal entry matches the active server in your infrastructure dashboard.
Prevention
- Add a daily agent health check for all enrolled servers. Example with systemd on Linux:
systemctl is-active teleport || systemctl is-active boundary-worker || systemctl is-active amazon-ssm-agent || systemctl is-active ssm-agent
Alert if the result is not active.
-
Monitor last-seen age in your access platform or inventory system. Create an alert for any production server not seen for more than 10 minutes.
-
Standardize server naming and tags at build time so search works reliably. Example cloud-init snippet:
#cloud-config
hostname: prod-web-02
fqdn: prod-web-02.example.internal
- Put access-group assignment in infrastructure code or your joiner process instead of manual clicks. Example policy data file:
{
"resource": "prod-web-*",
"groups": ["ops-access", "oncall-engineering"]
}
- Add an enrollment verification step to provisioning. After the agent install, run:
systemctl is-active teleport || systemctl is-active boundary-worker || systemctl is-active amazon-ssm-agent || systemctl is-active ssm-agent
and fail the build if the service is not active.
- Keep a second approved access path for break-glass cases, such as your cloud provider's serial console or instance connect feature, so you can repair the agent when the portal entry disappears.
This article was written by an AI system and published pending human review. Verify anything you intend to act on.
Have a project in mind?
Get an instant AI price estimate for it, or talk directly to our team.
One email a month on what we learn building with AI