Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
systemes:linux:ssh [2016/01/16 16:35] william créée |
systemes:linux:ssh [2019/02/06 14:03] (Version actuelle) |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Dans ce document, je vous explique quelques possibilités d' | ||
+ | Dans ce document, je vous explique quelques possibilités d' | ||
- | ====== 1. Configuration de base et modifications de sécurité ====== | ||
- | La configuration du serveur se trouve dans / | ||
- | La configuration du client se trouve dans / | ||
+ | ====== Configuration de base et sécurité ====== | ||
+ | * La configuration du serveur se trouve dans / | ||
+ | * La configuration du client se trouve dans / | ||
- | =====1.Pour éviter les attaques par brute force est de changer le port d' | ||
- | Pour modifier le port d' | ||
- | <code bash> | + | |
+ | ===== Brute Force ===== | ||
+ | |||
+ | * Pour modifier le port d' | ||
+ | * <code bash> | ||
#Package generated configuration file | #Package generated configuration file | ||
#See the sshd_config(5)manpage for details | #See the sshd_config(5)manpage for details | ||
Ligne 22: | Ligne 24: | ||
…</ | …</ | ||
- | Tentative de connexion au serveur : | + | * Tentative de connexion au serveur : |
- | + | | |
- | <code bash> | + | |
OpenSSH_6.2p2, | OpenSSH_6.2p2, | ||
debug1: Reading configuration data / | debug1: Reading configuration data / | ||
Ligne 35: | Ligne 36: | ||
- | =====2.Le compte | + | ===== Désactiver le root ===== |
- | Pour interdire la connexion root, il faut mettre le paramètre **PermitRootLogin** à no | + | |
- | Tentative de connexion au serveur : | + | * Pour interdire la connexion root, il faut mettre le paramètre **PermitRootLogin** à no |
- | + | * Tentative de connexion au serveur : | |
- | <code bash> | + | |
… | … | ||
root@10.203.22.220' | root@10.203.22.220' | ||
Ligne 47: | Ligne 47: | ||
</ | </ | ||
- | =====3.Enlevez la possibilité de se connecter | + | ===== Désactiver l' |
- | Pour interdire la connexion root, il faut mettre le paramètre**PermitEmptyPasswords** à no | + | |
+ | * Pour interdire la connexion root, il faut mettre le paramètre**PermitEmptyPasswords** à no | ||
+ | |||
+ | ===== Limiter le temps d' | ||
- | =====4.Limitez le temps d' | + | * Pour modifier le temps d' |
- | Pour modifier le temps d' | + | |
- | =====5.Limitez | + | ===== Limiter |
- | Pour modifier le nombre de tentatives, il faut changer la valeur du parametre **MaxAuthTries **à 3 | + | |
- | <code bash> | + | * Pour modifier le nombre de tentatives, il faut changer la valeur du paramètre **MaxAuthTries **à 3 |
+ | * <code bash> | ||
root@10.203.22.220' | root@10.203.22.220' | ||
debug1: Authentications that can continue: public key, | debug1: Authentications that can continue: public key, | ||
Ligne 64: | Ligne 66: | ||
</ | </ | ||
- | =====6.Isoler un utilisateur dans un chroot.===== | + | ===== Isoler un utilisateur dans un chroot===== |
- | Je crée un dossier pour l' | + | |
- | <code bash> | + | * Je crée un dossier pour l' |
+ | * <code bash> | ||
- | <code bash> | + | * <code bash> |
17:24:19 root@sshtp: | 17:24:19 root@sshtp: | ||
</ | </ | ||
- | Copie des fichiers | + | * Copie des fichiers |
+ | - / | ||
+ | - / | ||
+ | - /etc/group | ||
- | / | + | * Connexion : |
- | / | + | |
- | / | + | |
- | + | ||
- | Connexion : | + | |
- | + | ||
- | <code bash> | + | |
Password: | Password: | ||
Ligne 102: | Ligne 102: | ||
- | ======2. Empreintes====== | + | ====== Empreintes |
Ssh vérifie que l' | Ssh vérifie que l' | ||
- | =====1.Sur le client, le fichier d' | + | ===== Sur le client, le fichier d' |
- | A chaque connexion, nous avons ce message | + | |
- | <code bash> | + | * A chaque connexion, nous avons ce message |
+ | * <code bash> | ||
... | ... | ||
The authenticity of host' | The authenticity of host' | ||
Ligne 115: | Ligne 116: | ||
</ | </ | ||
- | L' | + | * L' |
+ | |||
+ | ====== Utilisation de clés====== | ||
- | ======3. Utilisation de clés====== | + | Les clés sont certainement la meilleure solution de connexion |
- | Les clés sont certainement la meilleure solution de connexion | + | |
- | =====1.Générez | + | ===== Générer |
- | <code bash> | + | |
Generating public/ | Generating public/ | ||
Enter file in which to savethe key (/ | Enter file in which to savethe key (/ | ||
Ligne 145: | Ligne 147: | ||
</ | </ | ||
- | Nous avons désormais dans le home directory, les fichiers contenant clé publique et clé privé | + | * Nous avons désormais dans le home directory, les fichiers contenant clé publique et clé privée dans .ssh . |
- | =====2.Transférez | + | ===== Transférer |
- | <code bash> | + | |
+ | * <code bash> | ||
The authenticity of host' | The authenticity of host' | ||
ECDSA key fingerprint is b0: | ECDSA key fingerprint is b0: | ||
Ligne 162: | Ligne 165: | ||
- | =====3.Restreignez le serveur pour qu'il n' | + | ===== N'accepter que les connexions que par clé ===== |
- | Pour n' | + | |
- | | + | * Pour n' |
- | | + | - |
- | | + | |
+ | | ||
- | =====4.Modifiez | + | ===== Modifier |
- | <code bash> | + | |
+ | * <code bash> | ||
Key has comment ' | Key has comment ' | ||
Enter new passphrase (emptyfor no passphrase): | Enter new passphrase (emptyfor no passphrase): | ||
Ligne 178: | Ligne 182: | ||
- | Tentative de connexion : | + | * Tentative de connexion : |
- | <code bash> | + | |
... | ... | ||
debug1: key_parse_private_pem: | debug1: key_parse_private_pem: | ||
Ligne 196: | Ligne 200: | ||
- | ======4. Utilisation du shell====== | + | ====== Utilisation du shell====== |
- | =====1.Affichez | + | ===== Afficher |
- | <code bash> | + | |
+ | * <code bash> | ||
Enter passphrase for key'/ | Enter passphrase for key'/ | ||
sshtp | sshtp | ||
</ | </ | ||
- | =====2.Trois exemples différents d' | + | ===== Trois exemples différents d' |
- | <code bash> | + | |
+ | * <code bash> | ||
Enter passphrase for key'/ | Enter passphrase for key'/ | ||
127.0.1.1 sshtp | 127.0.1.1 sshtp | ||
Ligne 216: | Ligne 222: | ||
- | ======5. Transferts de fichier====== | + | ====== |
- | =====1.Transférez | + | ===== Transférer |
- | <code bash> | + | |
+ | * <code bash> | ||
Enter passphrase for key'/ | Enter passphrase for key'/ | ||
testSCP 100% 2470 2.4KB/s 00:00 | testSCP 100% 2470 2.4KB/s 00:00 | ||
</ | </ | ||
- | =====2.Transférez | + | ===== Transférer |
- | Deux commandes possible | + | |
- | <code bash> | + | * Deux commandes possibles: |
+ | - <code bash> | ||
</ | </ | ||
- | ou | + | * ou |
- | + | | |
- | <code bash> | + | |
</ | </ | ||
- | =====3.Transférez | + | ===== Transférer |
- | <code bash> | + | |
+ | * <code bash> | ||
Connected to 10.203.22.220. | Connected to 10.203.22.220. | ||
sftp> ls | sftp> ls | ||
Ligne 258: | Ligne 265: | ||
- | =====4.Mettez | + | ===== Mettre |
- | Sur le serveur : | + | |
- | <code bash> | + | * Sur le serveur : |
+ | * <code bash> | ||
</ | </ | ||
- | Sur le client | + | * Sur le client |
- | + | | |
- | <code bash> | + | |
13:35:04 root@lisa: | 13:35:04 root@lisa: | ||
13:35:36 root@lisa: | 13:35:36 root@lisa: | ||
Ligne 274: | Ligne 280: | ||
- | Contenu sur le serveur : | + | * Contenu sur le serveur : |
- | + | | |
- | <code bash> | + | |
total 8 | total 8 | ||
drwxr-xr-x 2 root root 4096févr. 9 13:36 . | drwxr-xr-x 2 root root 4096févr. 9 13:36 . | ||
Ligne 286: | Ligne 291: | ||
- | =====5.Effectuez des transferts de fichiers avec l' | + | ===== RSYNC ===== |
- | Avec rsync, on peut facilement faire des backup, cela permet de ne pas télécharger tous les jours tout le contenu de la sauvegarde, il fait un check de l' | + | |
- | Il faut installer rsync sur les deux hôtes | + | * Avec rsync, on peut facilement faire des backup, cela permet de ne pas télécharger quotidiennement tout le contenu de la sauvegarde, il fait un check de l' |
+ | * Il faut installer rsync sur les deux hôtes. | ||
- | <code bash> | + | * <code bash> |
</ | </ | ||
- | + | * <code bash> | |
- | <code bash> | + | |
sending incremental file list | sending incremental file list | ||
./ | ./ | ||
Ligne 306: | Ligne 310: | ||
</ | </ | ||
- | <code bash> | + | * <code bash> |
total 20 | total 20 | ||
drwxr-xr-x 2 test test 4096nov. 18 15:41 . | drwxr-xr-x 2 test test 4096nov. 18 15:41 . | ||
Ligne 318: | Ligne 322: | ||
- | ======6. Tunneling====== | + | ====== Tunneling====== |
- | Il est possible de faire du tunneling over ssh | + | * Il est possible de faire du tunneling over ssh |
- | On ouvre un shell sur le client | + | |
+ | * <code bash> | ||
- | <code bash> | + | ===== Proxy SOCKS ===== |
- | =====1.Montez un proxy SOCKS via le client SSH et empruntez-le avec le logiciel de votre choix.===== | + | * <code bash> |
- | + | ||
- | <code bash> | + | |
… | … | ||
debug1: Authentication succeeded (public key). | debug1: Authentication succeeded (public key). | ||
Ligne 341: | Ligne 344: | ||
- | Sur le navigateur firefox proxy socks 127.0.0.1 : | + | * Sur le navigateur firefox proxy socks 127.0.0.1 : |
- | + | * Log ssh : | |
- | + | | |
- | Log ssh : | + | |
- | + | ||
- | <code bash> | + | |
debug1: channel 2: new[dynamic-tcpip] | debug1: channel 2: new[dynamic-tcpip] | ||
debug1: Connection to port1080 forwarding to socks port 0 requested. | debug1: Connection to port1080 forwarding to socks port 0 requested. | ||
Ligne 365: | Ligne 365: | ||
- | ==2.Montez | + | == Monter |
- | Il faut activé l'ip forwarding et PermitTunnel | + | |
- | **Machine 1 :** | + | |
- | <code bash> | + | * **Machine 1 :** |
+ | * <code bash> | ||
Last login: Mon Feb 914:47:09 2015 from 10.203.22.204 | Last login: Mon Feb 914:47:09 2015 from 10.203.22.204 | ||
14:48:24 root@sshtp: | 14:48:24 root@sshtp: | ||
Ligne 406: | Ligne 405: | ||
192.168.22.0/ | 192.168.22.0/ | ||
</ | </ | ||
- | **Machine 2 :** | ||
- | <code bash> | + | |
+ | * **Machine 2 :** | ||
+ | * <code bash> | ||
14:53:18 root@lisa: | 14:53:18 root@lisa: | ||
14:53:56 root@lisa: | 14:53:56 root@lisa: | ||
Ligne 419: | Ligne 419: | ||
- | ======7. X-Forwarding | + | ====== X-Forwarding ====== |
- | =====1.Utilisez OpenSSH pour afficher sur votre machine | + | ===== Afficher |
- | Installation du paquet x11-apps pour les tests (xeyes, xman, xload..) | + | |
- | + | ||
- | <code bash> | + | |
+ | * Installation du paquet x11-apps pour les tests (xeyes, xman, xload..) | ||
+ | * <code bash> | ||
15:01:24 root@lisa: | 15:01:24 root@lisa: | ||
</ | </ | ||
+ | * Par défaut, avec -X, la machine distante est considérée comme " | ||
- | Et sur mon mac, X11 s' | + | * Pour info sur mon mac, X11 s' |