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"