emacs 中的 Plink + sudo:无密码连接
Plink + sudo in emacs: connection without password
我想用 emacs 修改远程服务器上的文件,我只能通过 sudo su - username
访问而无需密码。
我目前可以使用以下方法修改此服务器上我个人 space 的文件:
C-x C-f /plink:me@server:/path/file
我读到 there 我可以使用以下命令以其他用户身份打开文件:
C-x C-f /plink:me@server|sudo:other@server:/path/file
问题是使用这种语法时,emacs 要求我输入密码 Password for /sudo:other@server:
,但我没有。提供空密码不起作用,提供我的用户密码也不起作用。
有没有办法像 sudo su - other
那样配置 tramp 连接到其他用户而无需输入密码?
PS:我在 Windows10.
上使用 emacs 28.1
您可以指定一个新的 TRAMP 方法,派生自 sudo
方法:
(add-to-list 'tramp-methods
`("mysudo"
(tramp-login-program "sudo")
(tramp-login-args (("su") ("-" "%u")))
(tramp-remote-shell ,tramp-default-remote-shell)
(tramp-remote-shell-login ("-l"))
(tramp-remote-shell-args ("-c"))
(tramp-connection-timeout 10)
(tramp-session-timeout 300)))
然后你可以像
一样打开远程文件
C-x C-f /plink:me@server|mysudo:other@server:/path/file
免责声明:未经测试。
我想用 emacs 修改远程服务器上的文件,我只能通过 sudo su - username
访问而无需密码。
我目前可以使用以下方法修改此服务器上我个人 space 的文件:
C-x C-f /plink:me@server:/path/file
我读到 there 我可以使用以下命令以其他用户身份打开文件:
C-x C-f /plink:me@server|sudo:other@server:/path/file
问题是使用这种语法时,emacs 要求我输入密码 Password for /sudo:other@server:
,但我没有。提供空密码不起作用,提供我的用户密码也不起作用。
有没有办法像 sudo su - other
那样配置 tramp 连接到其他用户而无需输入密码?
PS:我在 Windows10.
上使用 emacs 28.1您可以指定一个新的 TRAMP 方法,派生自 sudo
方法:
(add-to-list 'tramp-methods
`("mysudo"
(tramp-login-program "sudo")
(tramp-login-args (("su") ("-" "%u")))
(tramp-remote-shell ,tramp-default-remote-shell)
(tramp-remote-shell-login ("-l"))
(tramp-remote-shell-args ("-c"))
(tramp-connection-timeout 10)
(tramp-session-timeout 300)))
然后你可以像
一样打开远程文件C-x C-f /plink:me@server|mysudo:other@server:/path/file
免责声明:未经测试。