Como associar apenas uma chave pública a uma shell restrita como scponly?

3

Gostaria de usar uma chave sem senha para executar, por exemplo Sincronização uníssono ao poder acessar o SSH no servidor somente com uma chave protegida por senha. A maneira usual de usar scponly é alterar o login-shell da minha conta do servidor, mas isso é muito global. Uma entrada em authorized_keys pode conseguir isso?

    
por Tobias Kienzler 14.11.2012 / 09:23

1 resposta

5

Você pode usar a palavra-chave command em authorized_keys para restringir a execução a um único comando para uma chave específica, assim:

command="/usr/local/bin/mysync" ...sync public key... 

Atualização: Se você especificar um script simples como o comando, poderá verificar o usuário do comando originalmente fornecido:

#!/bin/sh 

case "$SSH_ORIGINAL_COMMAND" in 
/path/to/unison *) 
$SSH_ORIGINAL_COMMAND 
;; 
*) 
echo "Rejected" 
;; 
esac 
    
por 14.11.2012 / 09:30