Você pode aproveitar a capacidade de restringir a chave a um determinado comando usando a diretiva command=
em authorized_keys e a variável SSH_ORIGINAL_COMMAND
que é transmitida ao sistema remoto.
No arquivo authorized_keys, altere a linha que contém a chave relevante de
ssh-rsa AAAAB3NzaC1yc...
para
command="/path/to/myscript" ssh-rsa AAAAB3NzaC1yc...
Em seguida, crie o arquivo myscript, como por exemplo
#!/bin/bash
if [ ! -n "$SSH_ORIGINAL_COMMAND" ]
then
echo "No command supplied"
exit 1
fi
set $SSH_ORIGINAL_COMMAND
case "$1" in
ls)
;;
md5)
;;
*)
echo "invalid command"
exit 1
;;
esac
exec "$@"
agora, se você executar ssh [email protected] ls /etc
, obterá uma listagem do diretório /etc
remoto. Você provavelmente desejará usar as instruções case para testar os parâmetros fornecidos para atender a quaisquer requisitos de implementação.