Tramp, ssh

Le
Jean Magnan de Bornier
Bonjour à tous,
Un serveur que j'utilisais en ftp vient de passer en sftp (donc ssh). J'ai
écrit dessus ma clé publique au bon endroit, j'ai configuré =
.ssh/config
comme il faut, et si je tape en ligne de commande:

sftp monsite.fr

je suis connecté illico.


J'ai évalué ceci:

(tramp-set-completion-function "ssh"
'((tramp-parse-sconfig "~/.ssh/config")))

Tramp lit apparemment ce fichier de conf, mais je m'arrache les
cheveux pour me connecter depuis emacs:

C-x C-f RET sftp:user@monsite.fr RET

Pas de connexion, et voici ce que je vois dans les messages:

Tramp: Opening connection for sftp using scp
Tramp: Waiting 60s for local shell to come up
Tramp: Sending command `ssh sftp -q -e none && exit || exit'
Tramp: Waiting for prompts from remote shell
File error: Process died
completion--some: Process died


Et en effet sur ce site les utilisateurs n'ont pas de shell! Mais ne
pourrais-je pas être connecté quand même, puisque en ligne d=
e commande
j'ai les instruments normaux de ftp comme "put" ou "mkdir"?

Alors si quelqu'un a une idée
merci d'avance,
--
Jean
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ph. Ivaldi
Le #21765721
Bonsoir,

Le 23 mars 2010, Jean Magnan de Bornier écrivit :

C-x C-f RET sftp: RET
Pas de connexion, et voici ce que je vois dans les messages:
Tramp: Opening connection for sftp using scp...
Tramp: Waiting 60s for local shell to come up...
Tramp: Sending command `ssh sftp -q -e none && exit || exit'
Tramp: Waiting for prompts from remote shell
File error: Process died
completion--some: Process died



Je me suis aussi arraché les cheveux avec ftp ; c'était à cause du mode
passif.
Depuis j'ai ça dans un coin de ma configuration
8<------8<------8<------8<------8<------8<------8<------8<------8<------
(eval-after-load 'ange-ftp
'(progn
(add-to-list 'ange-ftp-passive-host-alist
'("ftp\.tuxfamily\.org|ftp\.serviatys\.fr|ftpperso\.free\.fr" . "on"))
))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

mais ça n'a pas fait repousser mes cheveux :o
--
Philippe Ivaldi.
http://www.piprime.fr/
Jean Magnan de Bornier
Le #21765711
Le 23 mars à 21:42:23 Ph. Ivaldi
| Bonsoir,



| Le 23 mars 2010, Jean Magnan de Bornier écrivit :



| > C-x C-f RET sftp: RET
| > Pas de connexion, et voici ce que je vois dans les messages:
| > Tramp: Opening connection for sftp using scp...
| > Tramp: Waiting 60s for local shell to come up...
| > Tramp: Sending command `ssh sftp -q -e none && exit || exit'
| > Tramp: Waiting for prompts from remote shell
| > File error: Process died
| > completion--some: Process died



| Je me suis aussi arraché les cheveux avec ftp ; c'était à cause du mode
| passif.
| Depuis j'ai ça dans un coin de ma configuration
| 8<------8<------8<------8<------8<------8<------8<------8<------8<------
| (eval-after-load 'ange-ftp
| '(progn
| (add-to-list 'ange-ftp-passive-host-alist
| '("ftp\.tuxfamily\.org|ftp\.serviatys\.fr|ftpperso
|\.free\.fr" . "on"))
| ))
| 8<------8<------8<------8<------8<------8<------8<------8<------8<------



| mais ça n'a pas fait repousser mes cheveux :o

Merci
mais pour sftp le mode passif n'existe pas! (d'ailleurs ange-ftp ne sait
gérer que ftp proprement dit)

Mon problème semble être ailleurs...
--
Jean
Erwan David
Le #21765701
Jean Magnan de Bornier
Le 23 mars à 21:42:23 Ph. Ivaldi
| Bonsoir,



| Le 23 mars 2010, Jean Magnan de Bornier écrivit :



| > C-x C-f RET sftp: RET
| > Pas de connexion, et voici ce que je vois dans les messages:
| > Tramp: Opening connection for sftp using scp...
| > Tramp: Waiting 60s for local shell to come up...
| > Tramp: Sending command `ssh sftp -q -e none && exit || exit'
| > Tramp: Waiting for prompts from remote shell
| > File error: Process died
| > completion--some: Process died



| Je me suis aussi arraché les cheveux avec ftp ; c'était à cause du mode
| passif.
| Depuis j'ai ça dans un coin de ma configuration
| 8<------8<------8<------8<------8<------8<------8<------8<------8<------
| (eval-after-load 'ange-ftp
| '(progn
| (add-to-list 'ange-ftp-passive-host-alist
| '("ftp\.tuxfamily\.org|ftp\.serviatys\.fr|ftpperso
|\.free\.fr" . "on"))
| ))
| 8<------8<------8<------8<------8<------8<------8<------8<------8<------



| mais ça n'a pas fait repousser mes cheveux :o

Merci
mais pour sftp le mode passif n'existe pas! (d'ailleurs ange-ftp ne sait
gérer que ftp proprement dit)



sftp c'est du "ftp like" dans un canal ssh. Donc pas de 2ème canal à
ouvrir pour les données, donc pas de différence actif/passif.
sftp est plus proche de scp que de ftp quand on regarde ça du réseau.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Gilles Pion
Le #21765611
Ref:

Et en effet sur ce site les utilisateurs n'ont pas de shell! Mais ne
pourrais-je pas être connecté quand même, puisque en ligne de commande
j'ai les instruments normaux de ftp comme "put" ou "mkdir"?

Alors si quelqu'un a une idée...
merci d'avance,



Tramp utilise deux catégories de méthodes pour faire son travail. Mais chacune
requière de pouvoir activer un shell interactif sur la machine distante.

Les méthodes dites "externes" utilisent deux canaux, l'un étant utilisé par un
protocole de transfert sous-jacent tel que rcp, sftp, scp, rsync ou autre,
l'autre étant connectée à un shell distant (qui peut être basé sur du ssh, rsh
ou mème du telnet!) qui va être utilisé pour exécuter les commandes devant
s'appliquer sur le host distant (pour comprendre la nécessité de ce canal shell,
penser par exemple au fait que le répertoire courant d'un buffer *dired* peut
très bien être un chemin "tramp", ou même à l'utilisation de modules de version
control -RCS, CVS, etc...- tout cela à distance via tramp)

Les méthodes dites "inline" utilisent uniquement le "tuyau" connecté au shell
qui est utilisé à la fois pour exécuter les commandes distantes et pour
transférer les fichiers *en ligne* (d'ou le nom) avec encodage à ma volée
(mimeencode, uuencode ou autre).

A noter que ce shell "distant" n'est pas forcément *vraiment* distant, voir les
méthodes "sudo" et "su" par exemple: (/sudo:<user>@localhost/<chemin>)

Ref:

http://www.gnu.org/software/tramp/#External-methods

"The external methods operate through multiple channels, using the remote shell
^^^^^^^^^^^^^^^^
connection for many actions while delegating file transfers to an external
transfer utility. "

Donc, a mon avis, la seule solution qui puisse répondre à votre besoin est de
disposer d'une script/une commande locale qui simule un client ftp tout en
traduisant les commandes ftp en commandes sftp.
Suffit alors d'affecter à la variable "ange-ftp-ftp-program-name" le chemin de
cette commande et, soit de continuer à utiliser ange-ftp, soit d'utiliser la
pseudo méthode "ftp" avec la syntaxe tramp .

J'ai justement écrit à ma boite un tel script en perl (j'imagine que l'idéal
aurait été de l'avoir implémenté en elisp, mais je suis allé au plus rapide).

Si ça vous intéresse je peux essayer de mettre la main dessus.

Mais sachez qu'il ne sera peut-être pas utilisable en l'état: initialement écrit
pour pouvoir utiliser tramp sur des serveurs OpenVMS accessibles uniquement en
ssh il doit probablement contenir des spécificités de cet O.S. (non sensibilité
à la casse par exemple). A vous de voir.
--
Gilles
Paul Gaborit
Le #21765601
À (at) Tue, 23 Mar 2010 19:18:21 +0100,
Jean Magnan de Bornier
Un serveur que j'utilisais en ftp vient de passer en sftp (donc ssh). J'ai
écrit dessus ma clé publique au bon endroit, j'ai configuré .ssh/config
comme il faut, et si je tape en ligne de commande:


[...]

Et en effet sur ce site les utilisateurs n'ont pas de shell! Mais ne
pourrais-je pas être connecté quand même, puisque en ligne de commande
j'ai les instruments normaux de ftp comme "put" ou "mkdir"?

Alors si quelqu'un a une idée...



L'option sshfs est peut-être une solution : cela permet de faire un
montage local pour accéder à une ressource distante via sftp...


--
Paul Gaborit -
Publicité
Poster une réponse
Anonyme