Close Menu
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Search

Oracle home is already provisioned for the target – Fleet Maintenance

2026-04-16 Oracle By Henrique

PAM Authentication Failure no OEM – Credencial SSH Key como Solução

2026-04-16 Tools By Henrique

PRCD-1229 — srvctl recusa acesso ao banco após upgrade manual no Oracle RAC

2026-04-16 Oracle By Henrique
YouTube LinkedIn RSS
  • Sobre
  • Contato
  • Legal
    • Aviso Legal
    • Política de Cookies
    • Política de Privacidade
    • Termos de Uso
  • RSS
  • Português
    • Inglês
Execute StepExecute Step
YouTube LinkedIn RSS
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » PAM Authentication Failure no OEM – Credencial SSH Key como Solução
Tools

PAM Authentication Failure no OEM – Credencial SSH Key como Solução

HenriqueBy Henrique2026-04-163 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email Telegram WhatsApp

This post is also available in: English (Inglês)

Jobs agendados no Oracle Enterprise Manager falhavam em vários hosts com o erro abaixo:

LOG: Local Authentication Failed...Attempt PAM authentication...PAM failed with error: Authentication failure

O problema aparecia em ambientes onde o usuário oracle possui senhas diferentes por servidor — situação comum em empresas que não padronizaram o gerenciamento de credenciais.

A solução elimina a dependência de senha: uma única Named Credential baseada em SSH Key funciona para todos os hosts monitorados.


Por que acontece

O OEM tenta autenticar via PAM (Pluggable Authentication Module) usando a senha armazenada na Named Credential. Quando a senha do usuário oracle no host alvo não corresponde à credencial cadastrada, a autenticação falha.

Em ambientes com dezenas de hosts e histórico de rotação de senhas inconsistente, manter Named Credentials baseadas em senha é inviável.


Solução: Named Credential com SSH Key

A autenticação por chave pública/privada elimina o problema: o OMS usa sua chave privada para autenticar, e cada host alvo precisa ter a chave pública no authorized_keys do usuário correspondente.

Passo 1 — Gerar o par de chaves no OMS

Execute como usuário oracle no servidor OMS:

ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ""

Se já existir um par de chaves, apenas confirme:

ls ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

Passo 2 — Distribuir a chave pública nos hosts alvo

ssh-copy-id -i ~/.ssh/id_rsa.pub oracle@<hostname>

ssh-copy-id -i ~/.ssh/id_rsa.pub root@<hostname>

Repita para cada host monitorado pelo OEM.

Passo 3 — Corrigir o ~/.ssh/config no OMS

Se houver entradas no ~/.ssh/config, verifique se o IdentityFile está apontando para a chave correta:

Host *.exemplo.com.br
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

⚠️ O parâmetro IdentitiesOnly yes é importante. Sem ele, o SSH tenta todas as chaves disponíveis antes de falhar, o que pode disparar o bloqueio Too many authentication failures em hosts com MaxAuthTries restrito.

Passo 4 — Criar Named Credential para oracle

Acesse: Setup → Security → Named Credentials → Create

CampoValor
Credential NameORACLE\_SSH\_KEY
Authenticating Target TypeHost
Credential TypeSSH Key Credentials
ScopeGlobal
UserNameoracle
SSH Private Keyconteúdo de ~/.ssh/id_rsa
SSH Public Keyconteúdo de ~/.ssh/id_rsa.pub
Run PrivilegeNone

⚠️ Use sempre Scope: Global. Credenciais com Scope Target não aparecem na lista de seleção em jobs multi-host.

Passo 5 — Criar Named Credential para root

Repita o processo com os seguintes valores:

CampoValor
Credential NameROOT\_SSH\_KEY
UserNameroot
SSH Private Keyconteúdo de ~/.ssh/id_rsa
SSH Public Keyconteúdo de ~/.ssh/id_rsa.pub

💡 As chaves são as mesmas do usuário oracle. O que determina o acesso é a presença da chave pública no authorized_keys do usuário correto em cada host.

Passo 6 — Configurar como Preferred Credential

Setup → Security → Preferred Credentials → Target Type: Host → Default Preferred Credentials → Set Credentials → selecione Named → ORACLE_SSH_KEY → Save

Passo 7 — Testar

Setup → Security → Named Credentials → selecione ORACLE_SSH_KEY → Test → selecione um host alvo.

Resultado esperado: Succeeded


Resultado

AntesDepois
PAM authentication failure em jobsAutenticação via chave SSH
Senha diferente por servidor causava falhaIndependente de senha
Credencial individual por hostUma credencial Global para todos os hosts
Jobs falhavam em múltiplos targetsJobs executam em todos os hosts

✅ Compatibilidade: procedimento testado no OEM 13c e OEM 13.5. O fluxo de criação de Named Credentials é equivalente nas duas versões.


Referências

  • Oracle Documentation — Managing Named Credentials
  • Oracle Support — Doc ID 1585459.1 (Named Credentials with SSH Key)

authentication named-credentials oem ssh troubleshooting
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticlePRCD-1229 — srvctl recusa acesso ao banco após upgrade manual no Oracle RAC
Next Article Oracle home is already provisioned for the target – Fleet Maintenance

Related Posts

Oracle

OPATCHAUTO-72126 — Diretório de Destino Já Existe no Out-of-Place Patching

2026-03-26
Read More
Oracle

PRCA-1057 — Password File do ASM Não Encontrado pelo CRS

2026-03-25
Read More
Oracle

ORA-01623 — Redo Log de Thread Órfã Após Migração de RAC para Single Instance

2026-03-23
Read More
Add A Comment
Leave A Reply Cancel Reply

Demo
Follow Me
  • Email
  • GitHub
  • LinkedIn
  • RSS
  • YouTube

INS-06006 – Passwordless SSH Connectivity Not Set Up

2026-02-2614 Views

Limpeza da biblioteca de software OEM: Purge seguro e controle de crescimento de swlib

2026-02-215 Views

ORA-29548 – Como corrigir o erro “Java System Class Reported” no Oracle Database

2026-03-053 Views
Demo
Execute Step
YouTube LinkedIn RSS
  • Home
  • Sobre
  • Contato
  • RSS
  • Português
    • English (Inglês)
© 2026 ExecuteStep. Designed by ThemeSphere.

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.