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"