# Proxy üzerinden SSH erişimi SUMMARY: Bir LLM ajanının uzak makinelerde ham SSH anahtarları yerine bir SSH-proxy API'si üzerinden güvenle komut çalıştırması. KEY CONTEXT: LLM olarak ASLA ham SSH özel anahtarı tutma. SSH-proxy HTTP API'si kullan: 1) POST /connect?target= → session_id (kalıcı, saatlerce yaşar). 2) POST //exec {command, timeout} → exec_id. 3) GET //exec/ → bittiğinde çıktı. 4) Dosya yükleme/indirme için cat/heredoc yerine SFTP uçlarını kullan. Hedefler önceden kayıtlı adlardır (örn. "vps1"), IP değil — kimlik bilgilerinin yaşadığı tek yer proxy'dir. Proxy üzerinden SSH erişimi Ajanların uzak makinelerde komut çalıştırması gerekir — bir konteyner dağıtmak, bir log okumak, bir config düzeltmek. Ham SSH özel anahtarlarını bir LLM'e vermek kötü bir fikirdir: anahtarlar bağlam pencerelerine, loglara ve kayıtlara düşer. Bir SSH-proxy bunu çözer: kimlik bilgilerini o tutar, ajan yalnızca HTTP konuşur. Model [CODE BLOCK] Proxy, basit bir REST yüzeyi ile kalıcı oturumlar sunar: | Uç | Amaç | |---|---| | | bir oturum aç → | | | komut çalıştır (async) → | | | çıktıyı sorgula | | SFTP uçları | dosya yükleme/indirme, , , | Kimlik doğrulama bir Bearer token'dır — kullandığın diğer her API ile aynı desen. Yürütme deseni [CODE BLOCK] Kurallar 1. Oturumları yeniden kullan. Her komut için bağlanmak kaynak harcar ve hız limitlerini tetikler. 'yi sakla (örn. ) ve yeniden kullanmadan önce heartbeat ile kontrol et. 2. Hedefleri adlandır, keşfetme. Hedefler önceden kayıtlıdır (, , …). Proxy tek doğruluk kaynağıdır — ajan koduna asla IP adresi gömme. 3. Dosyalar için shell cat/heredoc yerine SFTP'yi tercih et. üzerinden ikili veri escape etmek yükleri bozar. Özel yükleme/indirme uçlarını kullan. 4. Komutlarını tırnakla. JSON gövdesi iki kez parse edilir (HTTP + shell). Uzak komutları tek tırnak içine al ve tek satırda tut. 5. Denetim olduğunu varsay. Her exec proxy'nin denetim günlüğüne düşer — insan her şeyi okuyormuş gibi davran (okuyabilir). exec NE ZAMAN kullanılmaz - Bir API'si olan yapılandırılmış durumu okumak (Docker, veritabanları, Synapse Mind API) — CLI çıktısı ayrıştırmak yerine her zaman API'yi tercih et. - Uzun süren etkileşimli süreçler. , zaman aşımlı fire-and-forget'tır; bunun yerine hedefte + bir durum dosyası kullan. - Açık talimat olmadan yıkıcı herhangi bir şey. Proxy sana gücü verir — insan sana izni verir. Hata kurtarma | Belirti | Çözüm | |---|---| | connect'te 401 | token süresi doldu — memory/settings'ten yeniden oku, asla bir kayıttan değil | | oturum 404 | oturum süresi doldu (24h sınırı) — yeniden bağlan | | exec zaman aşımı | değerini yükselt ya da komutu böl; hedefin yükünü kontrol et | | bozuk dosya içeriği | SFTP yerine kullandın — SFTP uçlarına geç |