1. Claude uygulamaları ve dört uzak çalışma akışı

Claude Code, Anthropic'in kodlama aracıdır: projeleri okur, dosyaları düzenler, komutları ve testleri çalıştırır. Çoğu kişinin Claude CLI dediği şey aynı komut satırı programıdır: claude. Claude Desktop, Chat, Cowork ve Code sekmeleri sunar; Code zaten Claude Code içerdiği için ayrı CLI kurulumu gerekmez.

  • VPS üzerinde SSH ile claude çalıştırmak: motor ve proje VPS'te kalırken metin yerel terminalinizde görünür.
  • Yerel Claude Desktop'ı SSH ortamına bağlamak: grafik arayüz yerelde kalırken Claude Code motoru VPS'te çalışır.
  • Remote Control kullanmak: Claude Code işlemi VPS'te çalışmaya devam ederken başka bilgisayar, telefon veya tarayıcıdan yönlendirirsiniz.
  • Cloud Session kullanmak: görev VPS'inizde değil Anthropic yönetimli altyapıda çalışır.
  • Tam uzak masaüstünü yalnızca gerektiğinde kullanın: Windows'ta RDP, macOS'ta Screen Sharing, Linux'ta RDP/X2Go/VNC. Sadece CLI'den kaçmak için bütün GUI'yi kurmayın.

2. Veri yolları: oturum senkronizasyonu dosya senkronizasyonu değildir

  • SSH ve CLI: VPS dosyaları okur, düzenler ve komutları çalıştırır; bilgisayarınız terminal çıktısını gösterir ama dosyalar otomatik senkronize olmaz.
  • SSH ile yerel Desktop: yerel uygulama konuşmaları, izin istemlerini ve diff'leri gösterirken VPS Claude Code, Git ve proje komutlarını çalıştırır. Uzak dosyalar esas olarak VPS'te kalır.
  • Remote Control: VPS kodu çalıştırır ve dosyalara erişirken konuşmalar ve araç etkinliği Anthropic API üzerinden diğer cihazlarınıza gider.
  • Remote Control bağlıyken transkript senkronizasyon için Anthropic sunucularında saklanır; yürütme ve dosya sistemi erişimi VPS'te kalır.
  • Remote Control doğrudan P2P bağlantı veya tam disk senkronizasyonu değildir; gerçek dosya alımı yine Git, SCP veya rsync gerektirir.

3. VPS'i hazırlamak ve erişimi güvene almak

  • Güncel Claude Code gereksinimleri 4 GB veya daha fazla RAM, x64 veya ARM64, HTTPS erişimi ve desteklenen ülke veya bölge içerir. Model çıkarımı bulutta çalıştığı için GPU gerekmez.
  • Her kullanıcı için ayrı ayrıcalıksız hesap oluşturun ve Claude'u root olarak çalıştırmayın; SSH anahtarları kullanın, parola kimlik doğrulamasını ve kaynak IP'leri sınırlayın.
  • Fazladan Claude, VNC, RDP veya geliştirme sunucusu portları açmayın; Remote Control yalnızca giden HTTPS ister.
  • Projeleri ayrıcalıksız kullanıcıya ait dizinlerde tutun; uzak süreç tam olarak SSH kullanıcısının izinlerine sahiptir.
  • İlk bağlantıda ana bilgisayar parmak izini VPS konsolu veya başka güvenilir kanal üzerinden doğrulayın; StrictHostKeyChecking no ayarlamayın.
# Linux ana bilgisayarını incele
cat /etc/os-release
uname -m
free -h
df -h "$HOME"

# Ana bilgisayar anahtarı doğrulandıktan sonra yerel ~/.ssh/config kaydı
Host vps-claude
  HostName 203.0.113.10
  User dev
  Port 22
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes
  StrictHostKeyChecking yes
  ServerAliveInterval 60
  ServerAliveCountMax 3

# Bağlantıyı test et
ssh vps-claude

4. Linux VPS üzerinde Claude Code kurulumu

  • Ubuntu/Debian: resmi yerel yükleyiciyi çalıştırmadan önce curl, ca-certificates, git ve tmux kurun.
  • Fedora/RHEL: aynı araçlar için dnf kullanın; tmux etkin depolarda yoksa bilinmeyen ikili yerine onaylı depo veya screen kullanın.
  • Alpine: musl, bash, curl, libgcc, libstdc++ ve ripgrep ister; USE_BUILTIN_RIPGREP 0 olmalıdır.
  • Üretim için Anthropic ayrıca imzalı apt, dnf ve apk depoları yayımlar; güvenmeden önce resmi imza parmak izini doğrulayın.
# Ubuntu / Debian
sudo apt update
sudo apt install -y curl ca-certificates git tmux

# Fedora / RHEL: sudo dnf install -y curl ca-certificates git tmux

# Resmi yerel yükleyici (macOS ve WSL'de de çalışır)
curl -fsSL https://claude.ai/install.sh | bash

# Yeni terminal aç ve doğrula
claude --version
claude doctor

# Komut bulunamazsa
export PATH="$HOME/.local/bin:$PATH"
claude --version

# Etkileşimsiz SSH için mutlak yol
~/.local/bin/claude --version

# Alpine için ek bağımlılıklar
apk add bash curl libgcc libstdc++ ripgrep git tmux

5. Windows Server ve uzak macOS ana bilgisayarları

  • Claude Code CLI, Windows Server 2019 ve sonrasını destekler. Normal kullanıcı PowerShell'inde irm https://claude.ai/install.ps1 | iex çalıştırın, sonra claude --version ve claude doctor ile doğrulayın.
  • CLI'nin Windows Server desteği, Claude Desktop'ın tüm grafik özelliklerinin aynı OS'yi desteklediği anlamına gelmez; yalnız sunucu işleri için CLI'yi tercih edin.
  • Yerel Desktop'u Windows ana bilgisayarına bağlamak için Microsoft OpenSSH Server kurun ve SFTP ile uzak süreç davranışını doğrulayın.
  • macOS'ta aynı yerel yükleyiciyi veya brew install --cask claude-code kullanın; uzak Mac doğrudan SSH ile veya yerel Desktop'ın SSH ortamı için ana bilgisayar olarak kullanılabilir.

6. Tarayıcısız VPS üzerinde giriş ve kimlik bilgileri

  • Proje dizininde claude başlatın ve yetkilendirmek için giriş URL'sini kendi bilgisayarınızdaki tarayıcıya kopyalayın.
  • Tarayıcı VPS callback'ine ulaşamazsa giriş kodu gösterir; bunu VPS terminalindeki Paste code here if prompted istemine yapıştırın.
  • Kimlik doğrulamayı /status ile inceleyin, /logout ile çıkın ve /login ile yeniden giriş yapın. Claude Code Pro, Max, Team, Enterprise veya Console gerektirir; ücretsiz claude.ai planı içermez.
  • ANTHROPIC_API_KEY ve Claude aboneliği ayrı kimlik doğrulama ve faturalama yollarıdır; gerçek anahtarları depolara, Dockerfile'lara, ekran görüntülerine veya kabuk geçmişine koymayın.
  • claude setup-token CI ve betikler içindir; token model istekleri yapabilir ama Remote Control oluşturamaz veya claude.ai bağlayıcılarına erişemez.
  • Linux kimlik bilgileri normalde 0600 modunda ~/.claude/.credentials.json içinde saklanır; bu dosyayı herkese açık yükleme veya senkronize etmeyin.
# API anahtarını Bash'te etkileşimli okuyun; komut geçmişine girmesin
read -rsp "Anthropic API key: " ANTHROPIC_API_KEY; echo
export ANTHROPIC_API_KEY
claude

# Sırrı okumadan kimlik bilgisi meta verilerini kontrol edin
stat -c '%a %U %n' ~/.claude/.credentials.json

7. tmux ile oturumu canlı tutmak

  • tmux new -s claude-vps ile oturum oluşturun.
  • Projeye girin ve tmux içinde claude başlatın.
  • Ctrl+B, sonra D ile işlem çalışırken ayrılın.
  • Daha sonra tmux attach -t claude-vps ile dönün ve tmux ls ile oturumları listeleyin.
  • Bilgisayarınıza kaydedilen tek seferlik sonuç için etkileşimsiz SSH üzerinden claude -p çalıştırıp çıktıyı yönlendirin.
tmux new -s claude-vps
cd /srv/my-project
claude

# Daha sonra yeniden bağlan
tmux attach -t claude-vps
tmux ls

# VPS'te özet çalıştır ve yerel olarak kaydet
ssh vps-claude 'cd /srv/my-project && ~/.local/bin/claude -p "Summarize this project"' > ./project-summary.md

8. VPS'i Remote Control ile kontrol etmek

Remote Control yalnızca giden HTTPS bağlantıları oluşturur ve gelen port açmaz. Transkriptler senkronizasyon için Anthropic sunucularından geçer ve orada saklanır; kod ve dosyalar VPS'te kalır. Ekler VPS'e yüklenebilir, genellikle ~/.claude/uploads/ altında, ancak üretilen proje dosyaları yine Git, SCP veya rsync ile alınmalıdır.

  • Remote Control, Pro, Max, Team veya Enterprise aboneliği ve tam claude.ai /login gerektirir. API anahtarları, setup-token, Bedrock, Vertex, Foundry ve bazı özel API temel URL'leri desteklenmez.
  • VPS açık kalmalı ve claude işlemi çalışmaya devam etmelidir; kuruluş özelliği de kapatabilir.
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ve DISABLE_GROWTHBOOK özelliği kullanılamaz hale getirebilir. API anahtarı aboneliği geçersiz kılıyorsa kaldırın ve yeniden /login çalıştırın.
  • Sunucu modu için claude remote-control, yerel etkileşimi korumak için claude --remote-control "VPS Project" veya mevcut oturumda /remote-control kullanın.
  • Tek seferlik onaydan sonra terminal oturum URL'sini ve QR kodu gösterir. Aynı hesap ve kuruluşla claude.ai/code açın veya Claude uygulamasını kullanın.
  • Aynı dizini düzenlememesi gereken eşzamanlı oturumlar için --spawn worktree düşünün.
tmux new -s claude-remote
cd /srv/my-project

# Sunucu modu
claude remote-control

# Eşzamanlı oturumlar için bağımsız worktree'ler
claude remote-control --spawn worktree

# VPS terminal etkileşimini korurken diğer cihazlara izin ver
claude --remote-control "VPS Project"

9. En iyi grafik iş akışı: SSH ile yerel Claude Desktop

Desktop yanıtları, araç çıktısını, izin istemlerini ve diff'leri bilgisayarınıza aktarır, ancak düzenlemeler ve Git işlemleri VPS'te kalır. Uzun görevler ayrıca kimlik bilgisi yenilemesi, VPS yeniden başlatmaları, KillUserProcesses, yardımcı güncellemeleri ve yalnızca çevrimiçi araçlardan etkilenir. Bilgisayarınız kapanacaksa Desktop SSH'nin gece boyunca güvenilir çalışacağını varsaymak yerine Cloud Session tercih edin.

  • Resmi Claude Desktop uygulamasını kendi bilgisayarınıza kurun, giriş yapın ve Code açın. macOS, Windows ve Ubuntu/Debian Linux beta derlemeleri vardır; ayrı Node.js veya CLI gerekmez.
  • Ortam seçiciyi → New environment → SSH → Add SSH connection… açın.
  • Name, SSH host (user@hostname veya ~/.ssh/config içindeki Host), SSH port, isteğe bağlı yerel özel anahtar yolu ve isteğe bağlı Worktree folder girin.
  • Uzak proje klasörünü seçin ve Create environment tıklayın. İlk bağlantıda Desktop, sudo olmadan motor ve yardımcıyı ~/.claude/remote/ altına kurar.
  • Bağlanan her kullanıcı yaklaşık 1 GB boş alan ve noexec olmayan yazılabilir, çalıştırılabilir home dizini ister.
  • Ana bilgisayar SFTP ile SSH, çalışan shell, ağ erişimi, Git özellikleri için Git ve bağlantı başına birden çok oturum ister; MaxSessions 1 hatalara yol açar.
# ~/.ssh/config içinde bastion yapılandırması
Host devbox
  HostName devbox.internal.example.com
  User dev
  ProxyJump bastion.example.com

# Desktop'ta SSH host olarak devbox girin
# Windows istemci davranışı farklıdır; ProxyJump için system-openssh gereksinimlerini kontrol edin

# SFTP'yi ayrıca test edin
sftp vps-claude

10. Uzak GUI içinde Claude Desktop çalıştırmak

  • Linux'ta Claude Desktop beta'dır ve Ubuntu 22.04+ veya Debian 12+, x86_64 veya arm64, grafik masaüstü ve kullanılabilir keyring ister; bunlar CLI gereksinimlerinden farklıdır.
  • claude-desktop'u root olarak çalıştırmayın; kilitli keyring girişin saklanmasını engelleyebilir.
  • Cowork ayrıca QEMU, KVM, /dev/kvm ve ilgili sanallaştırma ister. Birçok VPS platformu iç içe sanallaştırmayı desteklemez; bu durumda Code veya CLI kullanın.
  • Grafik Windows ana bilgisayarında güvenli RDP üzerinden kurun ve giriş yapın; RDP 3389 portunu tüm İnternet'e açmayın.
  • Uzak Mac'te Screen Sharing kullanın ve VNC 5900 portunu herkese açık bırakmak yerine VPN veya SSH tüneliyle koruyun.
# Ubuntu / Debian üzerinde resmi Claude Desktop deposunu ekle
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc   https://downloads.claude.ai/claude-desktop/key.asc

gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc
# Parmak izi: 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main"   | sudo tee /etc/apt/sources.list.d/claude-desktop.list

sudo apt update
sudo apt install claude-desktop
claude-desktop

# Uzak VNC'yi yerel makineye tünelle; 5900 portunu açma
ssh -L 127.0.0.1:5900:127.0.0.1:5900 vps-claude

11. Konuşmaları, dosyaları ve önizlemeleri bilgisayarınıza getirmek

  • Küçük metin dosyaları için SSH üzerinden okuyun ve çıktıyı yerel dosyaya yönlendirin.
  • Tekli yükleme ve indirme için scp, dizin senkronizasyonu için rsync kullanın; etkisini anlayana kadar --delete kullanmayın.
  • Kaynak kod için Git kullanın; tüm dizinleri tekrar tekrar kopyalamak yerine geçmiş, diff ve geri alma korunsun.
  • Remote Control ekleri VPS'e ulaşabilir, ancak üretilen proje dosyaları yine Git, SCP veya rsync ister.
  • Web uygulamalarını geliştirme portlarını herkese açmak yerine SSH yerel port yönlendirmesiyle önizleyin.
# Küçük metin dosyasını indir
ssh vps-claude 'cat /srv/my-project/result.md' > ./result.md

# Dosya yükle
scp ./input.zip vps-claude:/srv/my-project/

# Dosya indir
scp vps-claude:/srv/my-project/result.md ./result.md

# Dizin içeriğini yükle
rsync -av --partial --progress ./my-project/ vps-claude:/srv/my-project/

# Dizin içeriğini indir
rsync -av --partial --progress vps-claude:/srv/my-project/ ./my-project/

# VPS'te kaynak değişikliklerini incele
git status
git diff

# VPS'teki 127.0.0.1:3000 uygulamasını aynı yerel adrese yönlendir
ssh -L 127.0.0.1:3000:127.0.0.1:3000 vps-claude
# Sonra http://127.0.0.1:3000 aç

12. Konteynerler, bastionlar ve kısıtlı ağlar

  • Resmi Claude Code Dev Container özelliğini ve adlandırılmış birimi kullanarak kimlik doğrulama ile ayarları yeniden derlemeler arasında saklayın; kimlik bilgilerini asla imgeye gömmeyin veya içeren konteyneri commit etmeyin.
  • Ana bilgisayarın tüm ~/.ssh dizinini bağlamayın; kısa ömürlü token'ları veya gizli yöneticiyi tercih edin, proje dosyaları ile Claude yapılandırmasını ayrı depolama olarak ele alın.
  • Remote Control yalnızca giden HTTPS ister, bu yüzden genel IP gerekmez. SSH için bastion, WireGuard, overlay ağı veya kurumsal VPN kullanın.
  • Linux VPS üzerinde proxy veya kurumsal CA için HTTPS_PROXY ve NODE_EXTRA_CA_CERTS'i ~/.claude/settings.json içine koyun. Desktop SSH ~/.bashrc okumayabilir.
  • Sertifika hatalarını aşmak için TLS doğrulamasını kapatmayın.
// ~/.claude/settings.json
{
  "env": {
    "HTTPS_PROXY": "http://proxy.example.com:8080",
    "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
  }
}

// devcontainer.json: yeniden derlemeler arasında yapılandırmayı koru
"mounts": [
  "source=claude-code-config,target=/home/node/.claude,type=volume"
],
"containerEnv": {
  "CLAUDE_CONFIG_DIR": "/home/node/.claude"
}

13. Sorun giderme ve güvenlik listesi

  • Tarayıcı girişi bitti ama terminal bitmedi: tarayıcının giriş kodunu VPS terminaline kopyalayın; yerel callback'ler SSH ve konteynerlerde sıkça erişilemezdir.
  • claude bulunamıyor: PATH içinde ~/.local/bin kontrol edin, claude doctor çalıştırın ve etkileşimsiz SSH'de mutlak yol kullanın.
  • Remote Control abonelik kimlik doğrulaması istiyor: API anahtarları, CLAUDE_CODE_OAUTH_TOKEN, setup-token, üçüncü taraf sağlayıcılar, özel temel URL ve kuruluş politikasını kontrol edin, sonra tam /login kullanın.
  • SSH çalışıyor ama Desktop ortam oluşturamıyor: SFTP, MaxSessions, home dizini izinleri, noexec, disk, giden erişim ve uzak settings.json proxy ayarlarını kontrol edin.
  • Bağlantı kesilince görev kayboluyor: tmux, KillUserProcesses, VPS yeniden başlatması, kimlik bilgisi yenilemesi ve yardımcı değişimini kontrol edin.
  • Üretimde --dangerously-skip-permissions kullanmaktan kaçının; Manual veya Plan ile başlayın ve yalnızca görevin ihtiyaç duyduğu izinleri verin.
  • Bilgisayarınız kapanacaksa Cloud Session kullanın veya bilinçli olarak sunucu tarafı görev ve kimlik bilgisi yenilemesi tasarlayın.