2010-08-12 4 views
23

Possible en double:
Open file via SSH and Sudo with EmacsComment utiliser SSH et SUDO avec CLOCHARD dans Emacs

Je veux ouvrir un fichier en utilisant sudo (par exemple,/etc/hosts) sur un machine distante connectée par ssh en utilisant TRAMP sur Emacs.

J'ai essayé quelques options, mais aucune n'a fonctionné. Quelqu'un peut-il me dire comment s'y prendre?

Merci

+1

en double de: Open file via SSH and Sudo with Emacs documentation Voir ici: http://www.gnu.org/software/tramp/#Multi_002dhops – phils

+0

Mais [ce] (http://stackoverflow.com/a/4725727/200567) réponse en fait travaux. –

Répondre

-4

Au cours des dernières Emacsen et unix il est mort simple, il suffit de visiter un fichier (C-x C-f) et lancez le nom de fichier avec ssh://server:/file.

Si vous utilisez Windows, installez d'abord Putty et placez-le dans votre variable d'environnement PATH. Ensuite, lorsque vous visitez un fichier, utilisez plink://server:/file au lieu de ssh://server:/file.

EDIT:

Cette réponse est fausse, voir la réponse ci-dessous.

+0

Cela ne l'obligerait-il pas à s'authentifier en tant que root? Ssh utilisera par défaut votre nom d'utilisateur actuel. –

+0

Vous pouvez en utiliser un autre en utilisant 'ssh: // nom d'utilisateur: motdepasse @ serveur:/fichier' La saisie du mot de passe à chaque fois devient fastidieuse, alors je suggère de configurer l'authentification par clé publique (alors c'est juste ssh: // nom d'utilisateur @server:/file'). –

+3

Cela donne accès au fichier en tant que 'nom d'utilisateur', mais la question est maintenant de savoir comment sauvegarder ce fichier s'il appartient à root sur la machine distante. Dans les installations Ubuntu, par exemple, il n'est pas possible (par défaut) de se connecter en tant que root, vous devez donc accéder au fichier en tant que 'nom d'utilisateur', puis enregistrez-le en tant que root. – SabreWolfy

39

Utilisation suivante dans votre .emacs

(set-default 'tramp-default-proxies-alist (quote ((".*" "\\`root\\'" "/ssh:%h:")))) 

Ensuite, vous pouvez simplement taper:

C-x C-f /sudo:[email protected][#port]:/path/to/file 

Il vous demandera votre mot de passe pour accéder à un shell distant puis votre mot de passe pour sudo accès.

+0

Est-ce que cette connexion au serveur distant en tant que root? – SabreWolfy

+2

Cela vous connectera en tant qu'utilisateur et exécutera sudo après. Pas besoin d'autoriser ssh pour root;) –

+0

J'ai essayé votre suggestion et une autre (dans le fil dupliqué mentionné ici: http://stackoverflow.com/questions/2177687/open-file-via-ssh-and-sudo -with-emacs) mais aucun d'eux ne fonctionne. – SabreWolfy

Questions connexes