---
title: "Natiivi SSH Comman agenteille · Comman blogi"
description: "Agentti pysyy agenttikehyksessä ja tavoittaa koneesi SSH:n kautta: julkisesta osoitteesta, Tailcatin kautta tai omassa tailnetissäsi."
url: https://comma.surf/fi/blog/native-ssh
language: fi
---

[Takaisin blogiin](https://comma.surf/fi/blog)

19. lokakuuta 2026

# Natiivi SSH Comman agenteille

[Aloita](https://app.comma.surf/) [Lue ohjeet](https://comma.surf/fi/docs/salix/agent-runtimes)

Kotipalvelimesi ei enää saa öistä varmuuskopiotaan valmiiksi. Lokit ovat palvelimella, palvelin on reitittimesi takana, ja haluat, että [Comma](https://comma.surf/fi/) selvittää, mitä tapahtui, eikä anna sinulle listaa komentoja kopioitavaksi edestakaisin. Comman agentit voivat nyt työskennellä koneella SSH:n kautta, eikä sinun tarvitse asentaa sille toista tekoälyagenttia.

## Agentti asuu hiekkalaatikon ulkopuolella

Useimmat pilviagentit toimivat hiekkalaatikkonsa sisällä: kontissa tai virtuaalikoneessa, jossa ovat mallin silmukka, työkalut ja tiedostot ja joka on päällä niin kauan kuin agentti. Comman taustalla toimiva hajautettu agenttikehys Salix erottaa nämä toisistaan. Agentin silmukka toimii agenttikehyksessä, minkään hiekkalaatikon ulkopuolella, yli 100 agenttia prosessoriydintä kohden. Pilvi-VM tai laite on paikka, jossa komennot ajetaan, ja sitä käytetään vain, kun työ tarvitsee tietokonetta.

Palvelimellasi työskennelläkseen agentti ei siis muuta sinne. Se kutsuu agenttikehyksestä natiiveja SSH-työkaluja:

- `ssh.open`, `ssh.write`, `ssh.read` ja `ssh.screen` interaktiiviseen päätteeseen, myös koko näytön ohjelmiin;
- `ssh.exec` yksittäiseen komentoon, jolloin stdout, stderr ja paluukoodi pysyvät erillään;
- `ssh.list_files`, `ssh.download` ja `ssh.upload` tiedostoille SFTP:n kautta;
- `ssh.close` ja `ssh.list` yhteyden elinkaareen.

Agentti tunnistautuu **Group SSH key** -avaimella: yksi avain Workspacea kohden, ja sen agentit jakavat sen. `ssh.public_key` palauttaa avaimen, ja sinä lisäät sen koneen tiedostoon `~/.ssh/authorized_keys` kuten minkä tahansa muun SSH-asiakkaan avaimen.

Agenttikehys voi tavoittaa koneesi kolmella tavalla.

## 1. Julkinen osoite

Jos koneessa on jo tavoitettava SSH-palvelin, agentti yhdistää sen IP-osoitteeseen tai DNS-nimeen:

json

```
{ "tool": "ssh.open", "params": { "host": "203.0.113.10", "user": "deploy" } }
```

## 2. Tailcat koneelle, jolla ei ole julkista osoitetta

Läppärillä tai NAT:n takana olevalla kotipalvelimella ei usein ole osoitetta, johon agenttikehys voisi ottaa yhteyden. [Tailcat](https://github.com/tailscale/tailcat) yhdistää sen ilman saapuvaa porttia, VPN:ää tai tiliä. Se toimii koneella, avaa vain lähteviä yhteyksiä ja tulostaa osoitteen, joka alkaa merkeillä `tc`.

Tailcat voi toimia myös itse SSH-palvelimena. Käynnistä se Groupin julkisella avaimella:

sh

```
tailcat serve --ssh-authorized-keys='ssh-ed25519 AAAA...' ssh
```

Näin saat kirjautumiskuoren, komentojen suorituksen ja SFTP:n sillä tilillä, joka ajaa Tailcatia. Se ei tarvitse `sshd` eikä muuta SSH-asetuksiasi. Jos koneessa toimii jo OpenSSH, käytä sen sijaan komentoa `tailcat serve 22`, jolloin OpenSSH hoitaa kirjautumisen. Lähetä sitten osoite agentille:

json

```
{ "tool": "ssh.open", "params": { "tailcat": "tc...", "user": "deploy" } }
```

## 3. Oma Tailscale-verkkosi

Jos koneesi ovat jo tailnetissä, Workspace voi liittyä siihen. Yhdistä se Comma-sovelluksen asetuksissa tai pyydä agenttia tekemään se. Tailnetin ylläpitäjä avaa kirjautumislinkin ja hyväksyy solmun. Solmu käyttää oletuksena tagia `tag:comma-agent`, joten tailnetisi käytäntö määrää tarkalleen, mihin laitteisiin ja portteihin se pääsee, esimerkiksi vain kotipalvelimen porttiin 22.

Agentti listaa laitteet komennolla `tailnet.peers` ja yhdistää MagicDNS-nimellä tai Tailscale-osoitteella:

json

```
{
  "tool": "ssh.open",
  "params": { "host": "nas.tail1234.ts.net", "via_tailnet": true, "user": "deploy" }
}
```

## Luottamus ja elinikä

Joka reitillä ensimmäinen yhteys isäntään tallentaa sen isäntäavaimen. Myöhempi yhteys, joka esittää eri avaimen, hylätään virheellä `host_key_mismatch` ja molemmilla sormenjäljillä, ja agentti kysyy sinulta ennen kuin poistaa vanhan avaimen komennolla `ssh.known_hosts.remove`.

SSH-yhteys kuuluu yhdelle agentin istunnolle. Se sulkeutuu 30 minuutin käyttämättömyyden jälkeen eikä säily agentin uudelleenkäynnistyksen tai alustan deployn yli, joten pitkä työ kuuluu etäkoneen `tmux` tai `screen` -istuntoon. Komennoilla on rajat: `ssh.exec` aikakatkaistaan oletuksena 60 sekunnin ja enintään 600 sekunnin jälkeen, ja aikakatkaisusta ilmoitetaan, eikä sitä koskaan yritetä automaattisesti uudelleen.

Varmuuskopion kohdalla voisit pyytää: ”Lue lokit ja tarkista levytila, mutta älä poista tiedostoja äläkä muuta asetuksia. Kerro ensin, mitä löydät.”

[Takaisin blogiin](https://comma.surf/fi/blog)

## Try Comma, Now.

[Aloita](https://app.comma.surf/)
