recuperar SSH única sessão ID
-
19-09-2019 - |
Pergunta
Gostaria de saber se existe alguma maneira de recuperar, tanto para um servidor e um cliente conectado através de ssh (OpenSSH), alguns identificador de sessão único (que este seja USID ).
Isto seria usado para restringir a execução de um software específico (por encomenda) (deixe-o ser a.exe ), para que ele possa só pode ser executada por meio de uma sessão específica ssh , mesmo que outros usuários (potencialmente root) tem acesso a esse executável:
- após uma sessão ssh é aberta a partir da máquina C (cliente) a máquina S (servidor), máquina de C (que conhece o < em> USID ) irá atualizar um registro na máquina X (um servidor de terceiros), deixando-o saber que este USID é "seguro".
- a.exe na máquina S irá verificar, quando invocado, se o USID da sessão atual é "seguro" (esta informação será fornecido pelo X ) e irá parar a execução se a resposta negativa recebida.
Os canais de comunicação entre X e C , X e S são seguras, então a única questão aqui está recuperando de que USID sem ter que escrever o meu próprio cliente e / ou servidor ssh.
Todas as idéias?
Solução
Parece-me em um círculo sobre a maneira, você está tentando re-implementar Kerberos. Parece-me que você quer GSSAPI garantir o transporte entre cliente e servidor; assim que suas necessidades do cliente para autenticação no servidor.
maneira típica de se fazer isso seria 'kinit' a um prinicpal usando um keytab, e, em seguida, passar essa credencial para o servidor. garante Kerberos que é razoavelmente difícil de falsificar.
Isso é provavelmente vai ser um pouco menos frágil do que o método que você descreve acima.
-Ace