ssh2incus

ssh2incus provides a full-featured SSH server that connects directly to Incus containers and virtual machines. It runs on the Incus host and intelligently routes incoming SSH connections to the appropriate instances using the Incus API, eliminating the need to run SSH servers inside your instances.

Open Source

access incus instance over ssh

Connect to Incus instances over SSH protocol

ssh2incus supports all standard SSH server features including shell session, SFTP and SCP, port and agent forwarding.

Download Now

What Is In?

Features

Authentication

Authentication

  • Uses existing host OS SSH keys via authorized_keys
  • Optional authentication-free mode for local and development environments
  • Advanced authentication options (JWT, OpenID, OAuth 2.0, LDAP, etc.)
image

Full-featured SSH

  • Full PTY (terminal) mode and remote command execution
  • Complete SCP and SFTP support with integrated SFTP server
  • Local, reverse, dynamic port and agent forwarding support
image

Process Models

  • Master process mode: Maintains SSH connections after service restart
  • Daemon mode: Single process with multiple threads for resource-constrained systems
image

Compatibility

  • Works with Incus inside Lima and Colima
  • Tested with Jetbrains Gateway, VSCode, Cursor and other IDEs
  • Full Ansible support
01

Download Package

Download the latest package from the Releases page and install

02

Start Service

Start and enable the service using systemctl

03

Conect to Instances

SSH access is available on all Incus containers and virtual machines

Easy Installation

Connection Guide

To establish an SSH connection to an instance running on Incus host, run:

ssh -p 2222 instance-name@incus-host

Full syntax:

ssh -p 2222 [remote-name:][instance-user@]instance-name[.project-name][+host-user]@incus-host

Learn More