如果我有一个服务器 A,我可以使用我的 ssh 密钥登录,并且我有能力“sudo su - otheruser”,我会丢失密钥转发,因为 env 变量被删除并且套接字只能由我的原始用户读取。有没有一种方法可以通过“sudo su - otheruser”桥接密钥转发,这样我就可以使用转发的密钥(在我的情况下为 git clone 和 rsync )在服务器 B 上做一些事情?
我能想到的唯一方法是将我的密钥添加到其他用户的授权密钥和“ssh otheruser@localhost”,但对于我可能拥有的每个用户和服务器组合来说,这很麻烦。
简而言之:
$ sudo -HE ssh user@host
(success)
$ sudo -HE -u otheruser ssh user@host
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)