entrada HKEY_USERS para conta de serviço

2

Eu criei uma conta de serviço para uma tarefa agendada no nosso servidor 2008R2. A tarefa executa um script do PowerShell, que, entre outras coisas, faz o download de um arquivo de um servidor Linux toda vez que ele é executado usando o PSCP do PuTTY.

No entanto, isso não funciona, pois a conta de serviço nunca se conectou a esse servidor antes e não sabe sua chave de host. Lendo o manual e pesquisando, verifica-se que essas chaves são armazenadas no registro, em HKEY_USERS\<SID>\Software\SimonTatham\PuTTY\SshHostKeys .

Mas eis o problema: uma vez que não é permitido o login local, a conta de serviço não tem um perfil local, por isso não tem uma entrada em HKEY_USERS .

Como isso pode ser corrigido? Duvido que seria uma boa ideia criar apenas a chave SID em HKEY_USERS , mas deve haver alguma solução alternativa? Eu poderia colocar isso em alguma chave de usuário padrão?

    
por carlpett 27.03.2012 / 21:40

1 resposta

0

Idealmente, o suporte direto no PuTTY para uma opção de linha de comando para "pré-aceitar" uma chave do host ou desativar a verificação da chave do host seria a solução mais fácil. No entanto, não parece que esse recurso estará disponível em breve .

No entanto, você já tem um script PowerShell em execução que deve ser capaz de gravar em seu próprio hive do Registro HKEY_CURRENT_USER. E eu suponho que a chave do host do seu servidor linux não está mudando com tanta freqüência. Então, por que não apenas o script powershell escreve o valor apropriado no registro antes de começar a fazer as chamadas do pscp?

Set-ItemProperty "hkcu:\Software\SimonTatham\PuTTY\SshHostKeys" "{name}" "{value}"

Você encontra o {name} e {value} da sessão de outro usuário que já aceitou a chave. HKEY_USERS\<SID> é o mesmo que a raiz de HKEY_CURRENT_USER para o usuário que corresponde a esse SID. Portanto, contanto que você faça referência a HKEY_CURRENT_USER de ambas as contas, o caminho para as chaves do host deve ser o mesmo.

    
por 28.03.2012 / 09:58