首页 > 解决方案 > authinfo.gpg 中的 Emacs “Tramp” sudo 设置:特定于机器的 sudo 认证

问题描述

我有一个通过 ssh 的远程文件的书签,因此:

/ssh:remoteuser@remote-server|sudo:remoteuser:/etc/apache2/apache2.conf

在我的 authinfo.gpg 文件中的这个条目搞砸之后,允许流浪者在远程服务器上为“remoteuser”提供 sudo 密码:

机器 remoteuser 端口 sudo 登录 root 密码 remote-user-sudopassword

我遇到的问题是这个 authinfo 行不是特定于 remote-server :主机/机器名实际上是 remoteuser id。这是什么意思?这意味着“remoteuser”的sudo密码在remoteuser操作的所有机器上必须相同。我可以在 auth-sources/tramp 中进行一些别名/映射,以使我能够为“remoteuser”的tramp sudo 认证提供不同的 authinfo 行吗?

标签: emacssudotramp

解决方案


您的远程文件名错误。肯定是

/ssh:remoteuser@remote-server|sudo:remote-server:/etc/apache2/apache2.conf

即文件名两部分中的主机名必须相同。这会将您的.authinfo.gpg条目更改为

machine remote-server port sudo login root password remote-user-sudopassword

请注意,在即将发布的 Emacs 27.1(包含 Tramp 2.4)中,将检查这种多跳匹配中的主机名。


推荐阅读