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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top