更新时间:2023-09-19 11:44:22
通过从剧本中删除这一行来解决问题:
The problem is resolved by removing this line from the playbook:
sudo: yes
在远程主机上运行sudo时,登录时ssh设置的环境变量不再可用.特别是 SSH_AUTH_SOCK,它标识用于与代理通信的 UNIX 域套接字的路径"不再可见,因此 ssh 代理转发不起作用.
When sudo is run on the remote host, the environment variables set by ssh during login are no longer available. In particular, SSH_AUTH_SOCK, which "identifies the path of a UNIX-domain socket used to communicate with the agent" is no longer visible so ssh agent forwarding does not work.
在不需要时避免使用 sudo 是解决问题的一种方法.另一种方法是通过创建 sudoers 文件来确保 SSH_AUTH_SOCK 在您的 sudo 会话期间保持不变:
Avoiding sudo when you don't need it is one way to work around the problem. Another way is to ensure that SSH_AUTH_SOCK sticks around during your sudo session by creating a sudoers file:
/etc/sudoers:
Defaults env_keep += "SSH_AUTH_SOCK"