
Tenho uma mensagem de aviso que é exibida ao usuário depois que ele insere seu nome de usuário para fazer login em nossos servidores Linux. Desejo exibir esta mensagem apenas para autenticações de senha, e não quando chaves são usadas. Ele deve ser mostrado apenas para um usuário que está fazendo login em um host, e não quando ele está fazendo ssh de um host para outro (todos nossos hosts têm chaves configuradas para que possamos fazer ssh de um para outro sem inserir senhas).
Atualmente, tenho uma linha para Banner no arquivo /etc/ssh/sshd_config que aponta para um arquivo de texto contendo a mensagem de aviso. O banner não parece ter mais opções de configuração, então estou me perguntando se existe uma maneira de fazer isso com pam ou algum outro mecanismo. Obrigado.
Responder1
Sim, você pode usar o pam_echo
plugin:
auth required pam_unix.so
auth optional pam_echo.so file=/etc/ssh/password_banner.txt
Isso deve produzir a saída pam_echo após o login com senha.
Verhttp://www.linux-pam.org/Linux-PAM-html/sag-pam_echo.htmlpara documentos.
Editar: você também precisará ter certeza de ter UsePAM yes
em seu arquivo sshd_config
. Senha substituída por auth.
Responder2
Desejo exibir esta mensagem apenas para autenticações de senha, e não quando chaves são usadas. Ele deve ser mostrado apenas para um usuário que está fazendo login em um host, e não quando ele está fazendo ssh de um host para outro (todos nossos hosts têm chaves configuradas para que possamos fazer ssh de um para outro sem inserir senhas).
Você está falando sobredo utilizadorchaves ~/.ssh/authorized_keys
ouhospedarchaves /etc/ssh/ssh_known_hosts
?
Atualmente, tenho uma linha para Banner no arquivo /etc/ssh/sshd_config que aponta para um arquivo de texto contendo a mensagem de aviso.
Banner
é exibidoantesqualquer autenticação acontece.
Estou me perguntando se existe uma maneira de fazer isso com pam ou algum outro mecanismo?
Você pode tentar verificar o nome do host remoto (fonte): verifique pam_access
se o usuário vem de fora da sua rede:
sessão [sucesso=1 padrão=ignorar] pam_access.so accessfile=/etc/pam_access_localnet.conf sessão opcional arquivo pam_echo.so=/etc/notice
/etc/pam_access_localnet.conf
:
+: TODOS: 192.168.201.0/24 - : TUDO TUDO