Bem, em primeiro lugar, basta colocar uma senha em sua chave privada com ssh-keygen -p
.
Então, existem várias maneiras de obter controle após o login.
- Um é feito por um arquivo de inicialização do shell por usuário ou pelo arquivo de inicialização
/etc
que alguns shells têm. 1 - Outra maneira (não funciona no OpenSSH antigo) é usar o
forcecommand
option emsshd_config.
- No entanto, outra maneira é usar a opção
command=
noauthorized_keys
arquivo.
Colocar uma frase secreta na chave privada não funciona muito bem para um agente que efetua login sob o controle do programa. Nesses casos, é melhor dedicar uma conta de login para o agente (ou seja, não use o seu recurso interativo) e, em seguida, forçá-lo a fazer uma e apenas uma coisa através do segundo ou terceiro método.
1. Nesse caso, é necessário proteger os arquivos de inicialização do shell all do usuário do agente. Isso pode ser complicado. O sistema ou o shell pode objetar se você tentar a coisa óbvia de torná-los possuídos pelo root. Esta é geralmente a abordagem mais perigosa.