#1 Le 19/09/2010, à 19:23
- nnccii
copie d'un evenement via ssh
Bonjour,
Avant tout, j'aimerais avoir une explication
Quand on fait
$ cat fichier
, il y a 2 possibilités :
Soit ça affiche le contenu du fichier et ça libère le terminal, on peut donc entrer de nouvelle commande.
Soit ça affiche rien ou quelque chose mais pour quitter il faut faire Ctrl+C.
J'imagine que dans le 2eme cas, il ne s'agit pas d'un simple fichier mais d'un flux.
(Mais comment créer un flux ??)
Du coup, voila la ligne sur laquelle je travail (elle ne fonctionne pas) :
$ ssh root@192.168.1.50 cat /dev/input/keypad >> /dev/input/event4
dans l'idéal, ça devrait copier les évènements clavier de l'ordinateur 192.168.1.50 vers /dev/input/event4 mais ça ne marche pas.
Comment corriger cette ligne pour créer une copie de l'évenement keypad exploitable vers le second ordinateur ?
Merci d'avance
Nicolas.
Dernière modification par nnccii (Le 19/09/2010, à 19:39)
Hors ligne
#2 Le 19/09/2010, à 19:42
- ssdg
Re : copie d'un evenement via ssh
à supposer que la partie "cat >>" fonctionne, tu peux utiliser l'outil "nc" qui peut faire serveur d'un coté, client de l'autre et utiliser ssh comme proxy.
Je ne suis pas expert de nc, aussi il faudra que tu regarde le man.
ssh -f ... (le -f fait passer le processus en background une fois que tu as entré ton mot de passe je n'ai pas les autres options en tête)
cat ... | nc "options"
et sur ta machine qui reçoit:
nc "options" >> /dev/inp/event4
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne
#3 Le 19/09/2010, à 19:53
- nnccii
Re : copie d'un evenement via ssh
ça aurait pu marcher mais malheureusement seul mon pc est sur ubuntu.
le 192.168.1.50 est un maemo (basé sur debian) et un apt-get install nc n'a rien donné.
Hors ligne
#4 Le 19/09/2010, à 21:31
- ssdg
Re : copie d'un evenement via ssh
je ne sais pas vraiment comment marche nc, mais je crois qu'il ne fait que faire suivre ce qui arrive sur le port d'entrée vers la sortie standard...
Tu dois pouvoir y arriver avec un langage de programmation de ton choix... sur le portable.
Sinon, tu as un serveur ssh sur ton portable?
(peut être qu'avec une authentification par clef privée (pour éviter d'entrer le mot de passe) et quelque chose sur le PC comme:
cat monflux | ssh tonportable sh "cat > tonFluxDest"
commence par tester avec des fichiers à la place des flux histoire de ne pas ruiner ton téléphone
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne
#5 Le 19/09/2010, à 22:10
- nnccii
Re : copie d'un evenement via ssh
oui, il y a un serveur ssh sur le portable.
la ligne ici cat monflux | ssh tonportable sh "cat > tonFluxDest"
c'est plutôt pour faire l'inverse, transmettre un flux du pc vers le portable non ?
Comme, je veux transmettre un flux du portable vers ubuntu, je l'ai modifié comme ceci et je lance la commande depuis ubuntu :
ssh root@portable cat /dev/input/keypad | sh "cat > /dev/input/event4"
la, ça me dit :
sh: Can't open cat >> /dev/input/event4
et en mettant comme ceci :
ssh root@portable cat /dev/input/keypad | sh cat > "fluxDestination"
la ça attend que quelque chose arrive sur le fluxKeypad mais des qu'il y a quelque chose ça quitte et ça n'écrit rien dans fluxDestination.
Hors ligne
#6 Le 19/09/2010, à 23:19
- sputnick
Re : copie d'un evenement via ssh
$ ssh root@192.168.1.50 cat /dev/input/keypad >> /dev/input/event4
dans l'idéal, ça devrait copier les évènements clavier de l'ordinateur 192.168.1.50 vers /dev/input/event4 mais ça ne marche pas.
Comment corriger cette ligne pour créer une copie de l'évenement keypad exploitable vers le second ordinateur ?
Nicolas.
$ ssh serveur < foo.txt 'cat > /tmp/foo.txt'
ou encore
$ cat foo.txt | ssh serveur 'cat > /tmp/foo.txt'
Pour nc, il faut installer netcat puis sur le serveur :
nc -z -l -p 89 > fichier
puis sur le client
nc -c <serveur> <port> < fichier
Pour les noobs, pour copier un fichier la commande normale est scp ou rsync
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
En ligne
#7 Le 19/09/2010, à 23:43
- ssdg
Re : copie d'un evenement via ssh
ah, effectivement ma commande fait l'inverse...
remarque, ça pourrait marcher:
ssh root@tonPC sh -c \"cat FICHERPC \" >> FICHIERPORTABLE
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne
#8 Le 20/09/2010, à 00:26
- sputnick
Re : copie d'un evenement via ssh
ah, effectivement ma commande fait l'inverse...
remarque, ça pourrait marcher:
ssh root@tonPC sh -c \"cat FICHERPC \" >> FICHIERPORTABLE
??? Ta commande fait l'inverse de la mienne en ce sens que la mienne marche et pas la tienne !!!
Tu ne semble pas comprendre le concept de flux.
tu a besoin de parcourir un fichier, puis rediriger ce flux dans l'entrée standard de ssh et finalement rediriger la sortie standard dans un fichier sur le serveur ssh distant. C'est l'algo de ma commande... On peut pas inventer des syntaxe au petit bonheur la chance, il y a une logique derrière...
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
En ligne
#9 Le 21/09/2010, à 10:57
- ssdg
Re : copie d'un evenement via ssh
sputnick > mon "effectivement" portait sur la remarque de nncii aussi merci de ne pas.
Ensuite, ma commande fait ce que je lui demande, j'ajoute que coté gestion de flux pour avoir codé mon propre bash en DUT, j'ai une note de projet qui démontre que je sais comment ça marche. Merci donc de refréner cette agressivité.
nnccii > Pour ce qui est du problème de fin de flux, essaye de remplacer cat par tail -f il "suit" ce qui arrive et je m'en sert souvent pour lire un log de serveur et faire un filtre "grep" en live... ça n'est techniquement pas très éloigné de ce que tu essaye de faire.
(je n'ai jamais essayé ça sur un flux clavier, mais ça devrait marcher)
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne
#10 Le 21/09/2010, à 13:54
- sputnick
Re : copie d'un evenement via ssh
Je suis pas agressif, peut être qu'avec mes !!! et ??? tu t'es senti agressé, c'est pas pareil.
Ce que je dit c'est que
ssh root@tonPC sh -c \"cat FICHERPC \" >> FICHIERPORTABLE
ne fonctionnera pas pour copier un fichier sur une machine distante.
Le reste n'est que libre interprétation.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
En ligne
#11 Le 21/09/2010, à 15:52
- Nrm
Re : copie d'un evenement via ssh
j'affirme pour avoir essayer que sur le serveur
nc -l 1234 > /dev/input/event3
et sur le client :
nc IP 1234 < /dev/input/event0
Permet de prendre le contrôle du clavier du serveur à partir du client
Dernière modification par Nrm (Le 21/09/2010, à 15:52)
Hors ligne
#12 Le 21/09/2010, à 20:04
- nesthib
Re : copie d'un evenement via ssh
un peu HS : il y a aussi synergy qui est une petite appli bien sympa pour partager un clavier ou une souris entre deux machines
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne