Vous lui demandez d'écouter sur votre port local 22 et de transférer les connexions vers le port 8090 d'un système distant. Vous ne pouvez pas faire cela, car votre port 22 local est déjà occupé par votre serveur SSH local.
Je pense que ce que vous recherchez est la redirection à distance. Remplacement de -L 22:localhost:8090
con -R 8090:localhost:22
indiquera à l'hôte distant d'écouter sur le port 8090 et de transmettre les demandes à votre serveur SSH.
Si vous laissez la connexion en cours d'exécution pour pouvoir vous connecter ultérieurement à partir d'un site distant, vous devez vous assurer que la connexion ne s'interrompt pas pour cause d'inactivité en ajoutant les options appropriées ( -o TCPKeepAlive=yes
o -o ServerAliveInterval=30
)
Donc vous vous retrouverez avec quelque chose comme :
ssh -N user@my_server -R 8090:localhost:22 -o ServerAliveInterval=30
En outre, si l'un des sauts de réseau entre vous et le serveur est en panne à un moment donné, la connexion sera interrompue malgré les options KeepAlive que vous spécifiez, de sorte que vous pourriez vouloir ajouter cette commande à inittab, ou regarder dans le paquet daemontools ou l'équivalent de votre distro , afin qu'elle démarre toujours au démarrage et soit redémarrée lorsqu'elle se termine pour une raison autre que l'arrêt du système (ou vous pourriez l'exécuter à partir d'un Shell Shell qui boucle à l'infini, mais init ou daemontools sont des solutions plus propres).