Vários usuários usam o script para acessar o servidor remoto por meio do SSH sem senha

1

Atualmente, estou configurando uma caixa linux vinculada ao Active Directory. Esta caixa permitirá que os usuários utilizem o SSH com seu nome de usuário e senha do AD para coletar informações (Caixa A). O problema é que estou tentando criar uma função em /etc/bash.bashrc para que os usuários tenham que fazer é digitar "get_info" por exemplo, a função vai SSH em uma máquina remota (Caixa B) rodar um comando e gerar as informações de volta para o usuário.

O problema com isso é que eu criei uma chave rsa no Box A, adicionei-a ao authorized_keys do Box B e ela funciona bem. O problema que estou enfrentando é como configurá-lo uma vez para os usuários atuais e para qualquer novo usuário que fizer login no Box A.

Existe uma abordagem melhor do que a que estou fazendo atualmente? Essencialmente, eu só preciso conectar à caixa remota, executar um comando, retornar as informações ao usuário e é isso. Como posso permitir que novos usuários se conectem por meio de um script à caixa remota sem precisar gerar chaves RSA para eles?

A função get_info será fornecida com o valor 'get_info 012345' e retornará os resultados.

    
por jinanwow 18.06.2010 / 18:34

2 respostas

2

O que é necessário:

  • Chaves compartilhadas pelos usuários
  • Criar script comum no servidor
  • Em seu usuário de limite de configuração ssh para comandos específicos:

    command="/ bin / myscript.sh", sem encaminhamento de porta, sem encaminhamento X11, sem agente de encaminhamento, sem custo ssh-dss AAAAB3 .... o9M9qz4xqGCqGXoJw = usuário

  • Crie scripts na caixa local ou em suas pastas base que executam um comando ssh para o servidor remoto, executam o script no servidor e, em seguida, produzem

  • Se você precisar de entrada na sessão remota, pode executar seu script local

    ./ local.sh 01234

Que executa:

ssh user@remote '/bin/myscript.sh $1'

É interpretado como

ssh user@remote '/bin/myscript.sh 01234
    
por 18.06.2010 / 20:28
0

Em vez de alterar /etc/bash.bashrc , por que não criar um programa (talvez escrito em bash) que fica no PATH padrão para todos os usuários no host local. Este programa pode chamar ssh com um sinalizador para apontar para uma chave privada comum no sistema local (por exemplo, você poderia colocá-lo em / etc ou / etc / opt / em algum lugar). O sistema remoto teria uma única conta que continha o arquivo de chave pública modificado (consulte as páginas de manual do ssh) para que qualquer pessoa que use a chave pública possa executar apenas um comando (ou seja, seu comando informativo).

    
por 18.06.2010 / 19:42