C_ installation de Claude Code dans le VPS juxjux
Installation de Claude Code dans le VPS juxjux
Objectif
Pouvoir intervenir sur les containers du VPS (redémarrage, diagnostic, logs, fix rapide) depuis un mobile Android en mobilité, via SSH + tmux + Claude Code CLI directement installé sur le VPS.
Prérequis constatés (2026-07-21)
- Node.js : v20.20.2 déjà présent sur le VPS (Debian) — aucune installation nécessaire
- npm : v10.8.2
- tmux : absent, installé via
sudo apt-get install -y tmux(v3.3a-3)
Installation de Claude Code CLI
Installation en local user (pas de sudo npm install -g) pour éviter de faire tourner le CLI en root et éviter les conflits de permissions npm globales :
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
npm install -g @anthropic-ai/claude-code
Ajout du PATH dans ~/.bashrc :
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
Version installée : 2.1.197
Authentification
Choix retenu : login OAuth avec le compte claude.ai (Julien, plan Claude Pro) — pas de clé API Anthropic séparée, donc pas de facturation à l'usage additionnelle.
Procédure suivie (le VPS est headless, pas de navigateur local) :
- Lancer
claudedans une session tmux dédiée (tmux new-session -d -s claude) pour que la session survive à une déconnexion SSH - Choisir "Claude account with subscription" au login
- Le CLI affiche une URL
https://claude.com/cai/oauth/authorize?...— impossible à ouvrir depuis le VPS, donc récupérée viatmux capture-paneet ouverte manuellement sur un navigateur (PC ou mobile) - Après connexion sur claude.ai, un code
xxxx#yyyyest retourné — collé dans le promptPaste code here if prompted >viatmux send-keys - Confirmation :
Logged in as julien.bertrand@live.fr
Les credentials sont persistés dans ~/.claude/.credentials.json (permissions 600, debian:debian) — la connexion reste valide pour les sessions futures, pas besoin de se ré-authentifier à chaque lancement.
Usage depuis Android (Termux)
- Installer Termux depuis F-Droid (pas le Play Store, version obsolète)
- Se connecter en SSH au VPS :
ssh debian@51.77.141.54 - Rattacher ou créer la session tmux :
tmux attach -t claude # si la session existe déjà tmux new -s claude # sinon - Lancer
claude(ou il tourne déjà si la session persiste) - Détacher sans tuer la session :
Ctrl+bpuisd— permet de couper la connexion mobile sans interrompre Claude Code
Sécurité
- Le VPS a déjà subi un incident de sécurité (CVE rclone RC, 2026-06-09 — voir page correspondante) : rester vigilant sur toute nouvelle surface d'exposition
- Claude Code tourne en utilisateur
debian(non-root), scope de travail/home/debianaccepté comme dossier de confiance - Authentification liée au compte personnel Julien (Claude Pro) — pas de clé API partagée à protéger séparément
- Accès à la session Claude Code = accès SSH au VPS (mot de passe
debian) — aucune surface réseau supplémentaire ouverte (pas de port exposé, tout passe par SSH existant)
Répertoire de lancement recommandé
Le VPS a déjà en local le CLAUDE.md partagé, synchronisé via Syncthing :
~/Documents/Jux_univers/Claude-pcelio+jux/CLAUDE.md
C'est le même fichier que celui utilisé sur le PC Windows (D:\Syncthing\Jux_univers\Claude-pcelio+jux\CLAUDE.md) et sur Ubuntu. Il fait partie du dossier Syncthing afltj-njyuy ("Tablette VPS Syncthing"), local path ~/Documents.
Lancer claude depuis ce dossier plutôt que /home/debian : le CLI charge automatiquement ce CLAUDE.md et récupère tout le contexte partagé (MCPs, infra, conventions) sans rien reconfigurer.
cd ~/Documents/Jux_univers/Claude-pcelio+jux/
claude
Piège constaté — Syncthing VPS silencieusement déconnecté (2026-07-21)
En vérifiant le CLAUDE.md sur le VPS, le fichier était resté figé au 24 juin alors que la version de référence (PC Windows) avait été mise à jour bien plus récemment (ex. section Inkscape du 21/07).
Diagnostic via le MCP Syncthing :
get_folder_status sur le dossier afltj-njyuy renvoyait state: idle, needBytes: 0, errors: 0 — en apparence tout va bien
Mais get_connections / get_devices montrait numConnections: 0 sur tous les appareils — le VPS n'avait aucune connexion active vers ses pairs, y compris PC-Elio+Jux
Autrement dit : Syncthing sur le VPS ne remonte aucune erreur quand il est déconnecté de tout le monde — il affiche juste l'état "idle" du dernier sync connu, ce qui peut faire croire à tort que tout est synchronisé.
Résolution : dès que Syncthing a été relancé côté PC Windows, la connexion TCP vers le VPS (device I4M5WXU) s'est rétablie en quelques secondes, et le CLAUDE.md s'est mis à jour immédiatement (nouveau hash, date du jour).
Point de vigilance pour la suite : si le CLAUDE.md sur le VPS semble périmé, ne pas se fier à get_folder_status seul (peut afficher "idle" à tort) — vérifier get_connections pour confirmer que le VPS a bien une connexion active vers au moins un appareil source avant de creuser plus loin.
Points d'attention pour la suite
/home/debian~/claude-workspace/init pour générer un CLAUDE.md propre au contexte VPS si l'usage se confirme
Vérifier que la session tmux ne meurt pas silencieusement (pas de Restart=always type systemd ici, contrairement aux services rclone)