linkport / Getting started

DOCUMENTATION

Reach any machine.
Through one link.

linkport opens a secure channel to services sitting behind NAT and firewalls. Give access to people, to a terminal, or to an AI agent, without inbound ports or network changes.

01

One outbound channel

The agent dials the edge itself. Your machine stays behind its network, with no open ports.

02

One address for everyone

Open the link in a browser, pipe it into a terminal, or hand it to an MCP agent.

03

Access you can narrow

Passwords, expiry, access channels, command policy and a session record, in one place.

01

Quick start

From a bare machine to a working link in a few minutes.

  1. 1

    Generate the install command

    In the dashboard, press “Connect a machine” and pick who should be able to reach it.

  2. 2

    Run it on the target machine

    The agent installs itself as a service and registers with your account.

  3. 3

    Open the console link

    That is it. A person, a terminal or a connected MCP client can use it.

terminal
# run this on the machine you want to connect
$ curl -fsSL https://linkport.example/i/<token> | sudo sh

 agent connected: gateway-01
 ssh published: https://linkport.example/s/9m…c4
02

The agent works from inside your network

No public IP, and no inbound firewall rule to write.

On start, linkport-agent opens an outbound encrypted connection to the edge and proxies only the local addresses you published. The first connection publishes ssh:127.0.0.1:22 by default.

The install token is single use. Keep the command with the token out of tickets, shell history and public logs.

03b

Desktop terminal

A real SSH client on your laptop, signed in with the same account.

The browser console is the zero-install path. linkport Terminal is the desktop one: Windows, macOS and Linux. It signs in with a short code you confirm here, then holds a cabinet session on the device. Through a linkport tunnel it opens a full SSH session (keys and host checks stay in the app) instead of a browser PTY.

The installer is public. Using the app requires an active Pro or Team subscription. Free accounts can download it; the window will stop at a paywall until a plan is prepaid.

04

Access for AI agents over MCP

Give the agent a bounded set of actions instead of your secrets.

The linkport MCP server exposes machines and connections through a scoped API token. The agent only gets the operations you allowed, and the command policy on each machine still applies: a denied command returns 403 and never reaches the shell.

list_machines list_tunnels create_tunnel get_connection_info run_command install_command rotate_link revoke_link

Files move the same way. The agent reads and writes them itself, over the same control channel — no sshd login, no machine credentials on the server — so this works on end-to-end encrypted machines too. Every operation is written to the audit log, and on a Read Only machine everything that would change a file returns 403 while reading keeps working.

list_files stat_file read_file write_file make_dir delete_file move_file

Inline content is capped at 8 MiB, since it travels inside the request. For anything larger, write_file takes a local_path and streams the file straight through — nothing buffers it whole, so the size is bounded only by the target's disk, and the bytes never pass through the model.

local_path reads the disk of the MCP server itself. On the hosted server that is ours, not yours, so it is switched off there. To send your own files, install linkport-mcp locally and run it over stdio — your client launches it, there is no listening socket, and it still talks to linkport for the machines themselves. The account page prints a ready config for Cursor, Claude Desktop and the local install once you create a key.

05

Security model

Access is separated from the network and set per link.

Unguessable identifiers
Links carry a 256-bit link_id. Rotate it in place, or revoke it and drop live connections.

Independent channels
Browser console, public link and MCP are switched on separately, per machine.

Command policy
Read-only mode permits file listing and downloads. Shells, commands, raw tunnels and file changes are blocked. Allow and deny lists apply when execution is enabled.

Audit and recording
Keep the command lines or the full terminal session, per machine.

06

Session recordings

Choose a list of commands or an asciinema-compatible cast.

Recording is set on your account and can be overridden per machine, under Settings → Session recording. Three modes:

Off
Nothing is written down beyond connection metadata.

Commands only
Just the command lines, downloadable as a text file. Cheap to store and easy to skim.

Full session
Everything on screen, stored as a .cast file. Replay it with asciinema play <id>.cast. Available on the Team plan.

Recordings live under the machine's Activity tab. Because command filtering reads a byte stream, input typed inside a full-screen program is not parsed into the command list; a full session recording is the complete record.

07

Troubleshooting

Where to look when a machine will not come up.

The machine never appears after install
Check the agent on the machine with systemctl status linkport-agent and journalctl -u linkport-agent -n 100. Install tokens expire after 30 minutes, so generate a fresh command if the old one sat around.

It shows offline after working fine
The agent reconnects with backoff and both sides use a 90 second deadline, so a short network drop heals itself. A lasting one is usually egress filtering on 443.

A published port returns nothing
Publications apply on the agent's next connect. Restart it with sudo systemctl restart linkport-agent, and confirm the service really listens on 127.0.0.1 rather than only on a LAN address.

A command is refused in the console
Read-only mode blocks every command, including viewing commands; use the file browser for reads. Otherwise, check the command allow and deny lists.