Advanced Secure Shell : 6 choses que vous pouvez faire avec SSH
Publié: 2021-10-02SSH est l'outil le plus populaire pour l'accès à distance à vos serveurs. C'est aussi l'un des outils les plus mal compris de sysadmin. Bien qu'il ait des cas d'utilisation très spécifiques, il y en a beaucoup d'autres que les gens ne connaissent pas. Dans cet article, nous aborderons six choses que vous pouvez faire avec SSH pour vous simplifier la vie et résoudre plus de problèmes que vous ne le pensez !
Connexe: 10 meilleurs scanners de sécurité de code PHP.
Advanced Secure Shell : 6 choses que vous pouvez faire avec SSH
1) SFTP
SFTP est l'abréviation de SSH File Transfer Protocol. Il vous permet de copier en toute sécurité des fichiers sur le réseau en utilisant votre méthode préférée de transfert de données (FTP, SCP, Rsync). Il utilise également des clés, plutôt que des mots de passe, pour une sécurité et une authentification améliorées.
C'est génial pour transférer des fichiers là où FTP ou SCP sont bloqués mais pas SFTP ! Vous pouvez également l'utiliser si vous devez vous connecter entre deux machines qui n'ont pas d'accès direct, mais où SSH le fait.
L'utilisation de FileZilla est la méthode préférée, ce qui implique de saisir le nom d'utilisateur, le port et l'adresse de votre SSH. Ensuite, il est temps d'utiliser SFTP en tapant simplement « sftp [email protected] ». Cela vous permettra d'interagir dans le terminal pour télécharger/télécharger des fichiers, parcourir des répertoires, etc.
2) Gardez la connexion vivante
Il est toujours important d'empêcher votre connexion de mourir. Heureusement, vous pouvez empêcher la fin prématurée de votre session SSH en utilisant trois directives.
L'argument TCPKeepAlive détermine s'il faut ou non garder une connexion ouverte. Lorsque cette option est activée, le client enverra constamment des paquets de données dans le but de maintenir sa liaison réseau avec le serveur auquel il est connecté.
ClientAliveInterval spécifie la fréquence à laquelle vous souhaitez que votre système envoie du trafic sur le réseau. ClientAliveCountMax spécifie après combien de messages sans réponse doivent entraîner la fin de cette session, afin qu'une autre tentative puisse avoir lieu.
ServerAliveInterval est identique à ClientAliveInterval, mais il est défini à l'autre extrémité. Cela spécifie combien de temps le client attendra avant d'envoyer des données pour vérifier qu'il est toujours connecté.
En utilisant ces trois ensembles, vous pouvez empêcher vos sessions SSH d'expirer tout en autorisant l'arrêt du trafic jusqu'à ce qu'une autre session soit établie. Vous pouvez également indiquer à votre serveur ou client combien de fois ils doivent échouer avant d'envisager une interruption de la liaison réseau !
3) Agent SSH
SSH Agent est un programme qui aide à gérer les clés SSH. Il fournit un moyen facile de charger votre clé privée en mémoire afin que vous n'ayez pas à saisir le mot de passe à chaque fois !
Lorsque vous démarrez une session avec l'agent, toutes les fenêtres et applications nécessitant une connexion SSH auront automatiquement accès à votre clé privée. Vous n'avez créé qu'une seule phrase secrète pour ce processus afin de démarrer rapidement !
Les agents peuvent être transférés afin d'utiliser les mêmes informations d'identification d'un hôte connecté à un autre. Cependant, ces informations d'identification sont stockées par des agents, ce qui augmente le risque de piratage. Par conséquent, je ne recommande pas de transférer votre agent à autre chose qu'à une machine de confiance.
4) Tunneling via la redirection de port local
Un cas d'utilisation de SSH est le tunneling. Cela peut être utilisé pour protéger le trafic des applications à l'intérieur d'une connexion cryptée et garantir que les données dangereuses ne sont pas transmises en dehors de celle-ci.

Serveur
Le fichier de configuration sshd, situé dans /etc/ssh/sshd_config, contient toutes les modifications côté serveur qui doivent être apportées.
Pour apporter vos modifications, commencez par commenter la ligne d'origine avec un # en tête. Vous pouvez également dupliquer toutes les lignes si nécessaire et les modifier au lieu de simplement les décommenter afin qu'il vous soit plus facile de voir ce qui doit être modifié sans avoir trop de choses à faire à la fois !
Pour que la redirection de port fonctionne correctement, vous devez autoriser TCP en saisissant « AllowTcpForwarding yes ».
Si vous avez apporté des modifications au fichier de configuration du serveur, rechargez le service ssh. Vous pouvez le faire en utilisant "service ssh reload".
Client
Vous pouvez utiliser les tunnels SSH pour effectuer de nombreuses actions intéressantes, par exemple lorsque vous devez exécuter une requête dans une base de données qui ne peut être effectuée que sur une autre machine. Cela permet à votre connexion d'être tunnelée via l'autre machine à la place.
5) Renvoi X11
Une connexion SSH peut être utilisée pour transférer les paquets X11 afin que l'environnement de bureau de l'ordinateur distant soit affiché sur votre machine locale. C'est très bien pour gagner du temps lors de l'utilisation de l'interface graphique pour un programme spécifique.
Conditions préalables
L'installation de xauth est la première étape de la mise en œuvre du transfert X11 sur votre serveur. Si vous souhaitez le tester, assurez-vous simplement que xclock a également été installé avant de continuer.
Serveur
La première étape consiste à autoriser X11Forwarding à rechercher « X11Forwarding » dans votre /etc/ssh/sshd_config, puis à le définir sur « yes ».
Client
Le transfert X11 du serveur vers votre ordinateur client a été configuré et vous devriez pouvoir voir une horloge sur votre bureau lorsque vous tapez « xclock ».
6) ProxyJump
De nombreuses personnes utilisent SSH pour se connecter aux bastions (le premier hôte de saut), puis passer à d'autres appareils. Le bastion est le premier hôte de saut.
Pour faciliter la tâche des personnes qui ne sont pas férus de technologie, ProxyJump peut être la solution parfaite. Il simplifie l'accès à votre serveur à l'aide d'un hôte de saut et peut également fournir une couche de sécurité supplémentaire au cas où quelqu'un tenterait de pirater un serveur que vous ne souhaitez pas exposer publiquement.
Supposons que vous soyez un utilisateur à domicile avec deux routeurs, un de chaque côté de votre réseau. Un cas d'utilisation serait d'avoir une machine supplémentaire qui agit comme passerelle bastion - ou serveur VPN devant ces appareils afin que les gens puissent accéder à d'autres ordinateurs sans avoir accès via l'adresse IP de l'un ou des routeurs.
Cela pourrait être utile lors de la gestion des connexions privées tout en étant capable de lancer divers services, comme les clients OpenVPN depuis notre propre maison si besoin est !
Conclusion
En conclusion, il y a une tonne de choses que vous pouvez faire avec SSH. Cela inclut l'empêchement de votre session d'expirer, le tunneling des données via un serveur, le transfert des paquets X11 à afficher sur l'interface graphique d'une autre machine, et plus encore.
Si vous souhaitez apprendre les bases sur la façon d'effectuer un audit de sécurité pour votre propre code, consultez le lien vers notre article de blog pour savoir comment vous pouvez sécuriser votre propre code !
Connexe : 25 conseils pour améliorer votre sécurité cPanel/WHM.
