我正在尝试转发我的 SSH 代理,然后向 SSH_AUTH 套接字授予权限。这些权限适用于远程主机上的另一个用户。我的 ssh 配置:
Host myhost
Hostname 1.1.1.1
ForwardAgent yes
User foo
IdentityFile "~/.ssh/foo"
RequestTTY yes
RemoteCommand setfacl -m bar:x "'$(dirname ${SSH_AUTH_SOCK})'"; setfacl -m bar:rwx "'$SSH_AUTH_SOCK'"; bash -l
该变量SSH_AUTH_SOCK
在远程主机上正确扩展,但是我收到如下错误:
setfacl: '/tmp/ssh-tsmWmrhbEu': No such file or directory
如果我在远程主机上的脚本中运行它并在RemoteCommand
.
#!/bin/bash
# Ensure SSH_AUTH_SOCK is set
if [ -z "$SSH_AUTH_SOCK" ]; then
echo "SSH_AUTH_SOCK is not set. Exiting."
exit 1
fi
# Set permissions for the specified user
setfacl -m bar:x "$(dirname "$SSH_AUTH_SOCK")"
setfacl -m bar:rwx "$SSH_AUTH_SOCK"