如何在Emacs中使用SSH和SUDO以及TRAMP

Jee*_*ali 24 emacs ssh sudo tramp

可能重复:
通过SSH打开文件,使用Emacs打开Sudo

我想在Emacs上使用TRAMP通过ssh连接的远程机器上使用sudo(比如/ etc/hosts)打开一个文件.

我尝试了几种选择,但没有一种可行.任何人都可以告诉我如何去做吗?

谢谢

Max*_*tov 40

在.emacs中使用以下内容

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

然后你可以简单地输入:

C-x C-f /sudo:root@host[#port]:/path/to/file
Run Code Online (Sandbox Code Playgroud)

它将要求您输入密码以访问远程shell,然后再次输入密码以获取sudo访问权限.

  • 这将以用户身份登录并在其后运行sudo.不需要允许ssh为root;) (2认同)

wm_*_*die -5

在最近的 Emacsen 和 Unixes 中,这非常简单,只需访问一个文件 ( C-x C-f) 并以ssh://server:/file.

如果您使用的是 Windows,请首先安装 Putty 并将其放入 PATH 环境变量中。然后,当您访问文件时,请plink://server:/file使用ssh://server:/file.

编辑:

这个答案是错误的,请看下面的答案。

  • 这样就可以以“用户名”的方式访问该文件,但现在的问题是,如果该文件由远程计算机上的 root 用户拥有,如何保存该文件。例如,在 Ubuntu 安装中,不可能(默认情况下)以 root 身份登录,因此您必须以“用户名”身份访问该文件,然后将其保存为 root 身份。 (3认同)