Skip to content
CARROT-WIP / OCT 2026 EDITION

Create and register an SSH key ​

Carrot Web is sufficient for normal settings and log tasks. Use SSH when diagnostics or development require it.

Public and private keys ​

FilePurposeWhere to keep it
id_ed25519.pubPublic key used to identify an authorized userRegister as an authentication SSH key on GitHub
id_ed25519Private key that proves your identityOnly on your own PC or phone

Never paste the private key into GitHub, chats or public documentation. Registering a GitHub username on the device imports that account's SSH public keys.

Windows PowerShell example ​

Run on your PC:

powershell
ssh-keygen -t ed25519 -C "carrotpilot-device-access"

Confirm the save location and set a passphrase. Do not overwrite an existing key; choose a different filename. The default location is your user home's .ssh directory.

  1. Register the contents of the .pub file in GitHub account settings → SSH keys as an authentication key.
  2. Enable SSH on the device and register your GitHub username. Menu locations vary by device UI.
  3. Connect from a PC on the same network using the corresponding private key:
powershell
ssh -i "$env:USERPROFILE/.ssh/id_ed25519" comma@192.168.0.25

Replace the example IP. Verify that the destination really is your device before accepting its first host key.

Connection problems ​

  • Timeout: check power, network, current IP and SSH enablement.
  • Permission denied: check the comma username, selected private key and public key registered on GitHub.
  • Selected a .pub file: clients need the private key for authentication.
  • Host key changed: check for IP reuse or a device reinstall before resolving it.

PC connection · Phone connection.


Source reference ​

Reference checked 2026-10-30 · carrot-wip · 10bf0a56.

openpilot/selfdrive/ui/widgets/ssh_key.py · docs/user/ko/carrot-web.md

The development branch continues to change. Check your device’s branch, commit and current settings together.