# SSH — Connexions et transferts

Les alias sont définis dans `~/.ssh/config`.

---

## Connexions rapides

```bash
ssh s01        # storage-01 (192.168.1.200) — user ansible
ssh g01        # gpu-01 (192.168.10.20) — via ProxyJump s01 automatique
ssh c01        # compute-01 — via ProxyJump s01 (quand installé)
ssh c02        # compute-02 — idem
ssh c03        # compute-03 — idem
```

## Connexion en root (uniquement si nécessaire, avant durcissement)
```bash
ssh -o PasswordAuthentication=yes root@192.168.1.200
```

## Connexion manuelle avec jump host (sans alias)
```bash
ssh -J ansible@192.168.1.200 ansible@192.168.10.20
```

---

## Transferts de fichiers

```bash
# Copier un fichier vers storage-01
scp fichier.txt s01:/tmp/

# Copier depuis gpu-01
scp g01:/var/log/dnsmasq.log /tmp/

# Copier via jump host (sans alias SSH)
scp -o ProxyJump=s01 fichier.txt ansible@192.168.10.20:/tmp/
```

---

## Debug SSH

```bash
# Connexion avec verbosité max (voir pourquoi ça échoue)
ssh -vvv s01

# Tester sans utiliser ~/.ssh/config
ssh -F /dev/null -i ~/.ssh/id_ed25519 ansible@192.168.1.200

# Vérifier quelle clé est utilisée
ssh -v s01 2>&1 | grep "Offering"
```

---

## Clés SSH

```bash
# Voir la clé publique utilisée
cat ~/.ssh/id_ed25519.pub

# Vérifier les clés autorisées sur storage-01
ssh s01 "cat ~/.ssh/authorized_keys"

# Vérifier les clés autorisées sur gpu-01
ssh g01 "cat ~/.ssh/authorized_keys"
```
