Je vais vous expliquer les étapes pour configurer et utiliser SSH (Secure Shell) :
1. Générer une paire de clés SSH sur votre machine :
```bash
ssh-keygen -t rsa -b 4096
```
- Appuyez sur Entrée pour accepter l'emplacement par défaut (~/.ssh/id_rsa)
- Vous pouvez créer une phrase secrète (optionnel mais recommandé)
2. Copier la clé publique vers le serveur distant :
```bash
ssh-copy-id utilisateur@[Link]
```
Ou manuellement :
```bash
cat ~/.ssh/id_rsa.pub | ssh utilisateur@[Link] "mkdir -p ~/.ssh && cat
>> ~/.ssh/authorized_keys"
```
3. Se connecter au serveur distant :
```bash
ssh utilisateur@[Link]
```
4. Configuration SSH (optionnelle) dans ~/.ssh/config :
```bash
Host monserveur
HostName [Link]
User utilisateur
Port 22
IdentityFile ~/.ssh/id_rsa
```
Après cette configuration, vous pouvez simplement utiliser : `ssh monserveur`
5. Permissions importantes à vérifier :
```bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/config
```
6. Commandes SSH utiles :
- Copier des fichiers : `scp [Link] utilisateur@serveur:/destination/`
- Copier un dossier : `scp -r dossier/ utilisateur@serveur:/destination/`
- Tunnel SSH : `ssh -L 8080:localhost:80 utilisateur@serveur`
7. Sécurisation supplémentaire dans /etc/ssh/sshd_config (côté serveur) :
```bash
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
```
8. Après modification du fichier sshd_config, redémarrer le service SSH :
```bash
sudo systemctl restart sshd # Pour systemd
# ou
sudo service ssh restart # Pour init.d
```
Conseils de sécurité :
- Utilisez toujours des clés SSH plutôt que des mots de passe
- Choisissez un port non standard pour SSH (modifiez Port 22)
- Limitez les connexions aux adresses IP de confiance si possible
- Activez l'authentification à deux facteurs pour plus de sécurité
- Surveillez régulièrement les journaux SSH