如果我像这样 ssh 到我的服务器:
ssh root@<ip> -A
然后我远程执行以下操作:
ssh [email protected]
# Hi username! You've successfully authenticated
然后远程执行:
su user -
然后远程执行:
ssh [email protected]
# Permission denied (publickey).
我如何才能让它工作而不直接通过 SSH 连接到用户(因为我需要经常轻松地来回切换)
谢谢
答案1
这是意料之中的。发生的事情是,当您ssh -A
在服务器上打开的用户会话中,SSH 代理中已加载的证书可用。然后,当您将用户更改为其他人时,使用su
该权限是出于安全相关原因,而不是提供给目标用户。您通常想要做的是
ssh -A user@ip
或者- 将私钥放在服务器上,通过 SSH 进入服务器并使用 加载密钥
eval "$(ssh-agent)" && ssh-add
。