Ich habe folgendes in meiner .emacs:Wie ändere ich den Befehl, der von TRAMP in Emacs gesendet wird, wenn Sie Windows verwenden?
(require 'tramp)
(setq tramp-default-method "plink")
Wenn ich C-x C-f /plink:some_session:/
in Emacs laufen, wo some_session
eine definierte Sitzung in PuTTY (die alle Informationen wie Standort des privaten Schlüssels, den Benutzernamen, Verbindungstyp gespeichert hat = ssh, etc.), Getrampel gibt den folgenden Befehl ein (kopiert von * Nachrichten * buffer):
Tramp: Sending command ‘plink -ssh -t some_session " env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ ' /bin/sh " && exit || exit’
Sie können sehen, dass es passiert die -ssh
Flagge zu plink
. Alles funktioniert gut, wenn ich eine Verbindung zu einem Remote-Host, der die SSH-Verbindung an Port 22 erwartet.
Allerdings habe ich einen Remote-Host, den ich an Port 2222 verbinden muss. Wenn ich eine Sitzung speichern (some_new_session
) in PuTTY und versuchen, mit den folgenden Befehlen (oder die PuTTY gui) zu verbinden das ist, was passiert:
- mit der PuTTY GUI
- funktioniert
-
- Herausgegeben von
cmd.exe
- funktioniert gut und ist in der Lage
- Herausgegeben von
plink -ssh some_new_session
- von
cmd.exe
Ausgestellt zu verbinden - nicht
- von
ich das Problem debuggt habe funktioniert und festgestellt, dass, wenn die -ssh
flag wird an plink
übergeben, es versucht trotzdem, eine Verbindung über Port 22 herzustellen, obwohl die gespeicherte Sitzung angibt, Port 2222 zu verwenden. Bei Angabe von -ssh
wird der in der Sitzung gespeicherte Port ignoriert (was sich wie ein Fehler anfühlt).
Wenn ich versuche, den Befehl ausgegeben mit C-x C-f /plink:some_new_session:/
in Emacs zu verbinden ist:
Tramp: Sending command ‘plink -ssh -t some_new_session " env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ ' /bin/sh " && exit || exit’
ich die -ssh
Flagge eigentlich nicht brauchen, weil der Verbindungstyp ist SSH in der Sitzung PuTTY gespeichert. Auch die -ssh
Flag zwingt die Verbindung über Port 22 zu sein, obwohl die Sitzung hat es als Port gespeichert 2222.
Meine Frage ist:
Wie kann ich den Befehl von tramp ausgegeben ändern, damit es nicht nennen mit der -ssh Flagge flitzen?
Haben Sie versucht, 'tramp-methods' zu ändern, um zu ändern, wie es 'plink' aufruft? – donkopotamus