Les deux options ont quelque chose à voir avec le transfert X11. Cela signifie que si vous l'activez, vous pouvez utiliser un client graphique via votre session SSH (par exemple, utilisez Firefox ou autre chose).
Si vous utilisez ssh -X remotemachine
la machine distante, elle est traitée comme un client non approuvé. Votre client local envoie donc une commande à la machine distante et reçoit la sortie graphique. Si votre commande enfreint certains paramètres de sécurité, vous recevrez une erreur.
Mais si vous utilisez ssh -Y remotemachine
la machine distante, elle est traitée comme un client de confiance. Cette dernière option peut ouvrir des problèmes de sécurité. Parce que d’autres clients graphiques (X11) peuvent renifler des données de la machine distante (faire des captures d’écran, enregistrer au clavier, etc.) et qu’il est même possible de modifier ces données.
Si vous souhaitez en savoir plus sur ces éléments, nous vous conseillons de lire la page de manuel Xsecurity ou la spécification d’extension X Security . En outre, vous pouvez vérifier les options ForwardX11
et ForwardX11Trusted
dans votre /etc/ssh/ssh_config
.
-X
est-il impossible pour d'autres clients de renifler ou de modifier des données?-Y
au lieu de-X
en général?-Y
) et le seul cas où j'ai compris que cela pourrait être utile est lorsque le contrôle de sécurité côté serveur n'est pas implémenté / n'est pas compatible. J'ai également lu que la transmission X11 est généralement un outil puissant et dangereux qui doit être traité comme tel.N'utilisez ni quand vous n'avez pas besoin d'exécuter des programmes X11 à distance; utilisez
-X
quand vous faites; et hypothétiquement utiliser-Y
si un programme X11 qui vous tient à coeur fonctionne mieux avec -Y qu'avec -X. Mais actuellement (Ubuntu 15.10), -X est identique à -Y, sauf si vous éditezssh_config
pour le direForwardX11Trusted no
. -X était à l'origine destiné à permettre l'extension de sécurité X des années 1990, mais il est ancien et inflexible et bloque certains programmes. Il est donc ignoré par défaut.Ssh
-Y
et-X
vous permettent d’exécuter un programme X11 sur une machine distante, avec ses fenêtres apparaissant sur le moniteur X local. Le problème est de savoir ce que le programme est autorisé à faire sur les fenêtres d'autres programmes et sur le serveur X lui-même.Le transfert X11 de confiance est activé par
-Y
. C'est le comportement historique. Un programme ayant accès à l'écran est autorisé à accéder à tout l' écran. Il peut effectuer une capture d'écran, un keylog et une entrée dans toutes les fenêtres d' autres programmes. Et il peut utiliser toutes les extensions de serveur X, y compris celles telles que les graphiques accélérés, qui constituent un risque pour la sécurité. Ce qui est bon pour bien fonctionner, mais mauvais pour la sécurité. Vous faites confiance aux programmes distants pour être aussi sûr que vos programmes locaux.Le transfert X11 non approuvé tente d'empêcher les programmes distants d'accéder uniquement à leurs propres fenêtres et d'utiliser uniquement les parties de X relativement sécurisées. Ce qui semble bien, mais actuellement ne fonctionne pas bien dans la pratique.
La signification
-X
actuelle dépend de votre configuration SSH.Sous Ubuntu 14.04 LTS, sauf si vous modifiez votre
ssh_config
, il n'y a pas de différence entre-X
et-Y
. "[B] ecause est que trop de programmes bloquent actuellement en mode [non approuvé]."Si
ForwardX11Trusted no
, alors-X
active le transfert non approuvé . Sinon,-X
est traité de la même manière que-Y
, sachant que les programmes distants avec accès à l’affichage sont conviviaux.la source
L'
-X
option active le transfert X11:L'option
-Y
, correspondant à la directive ForwardX11Trusted de ssh_config (5), est encore moins sécurisée car elle supprime les contrôles d'extension X11 SECURITY.Il est plus sûr d'utiliser
-x
la source