![Como faço para usar como usuário normal sem senha?](https://rvso.com/image/1502916/Como%20fa%C3%A7o%20para%20usar%20como%20usu%C3%A1rio%20normal%20sem%20senha%3F.png)
Gostaria de saber se alguém pode me ajudar com meu roteiro.
Eu tenho 2 servidores. Vamos chamá-los de Servidor A e Servidor B. O Servidor B tem um software instalado que eu gostaria de executar no Servidor A. Não consigo instalar o software no Servidor A.
Tenho que permitir que os usuários executem outro software no Servidor A, que então chamará um script para chamar o software no Servidor B para executar um comando.
Então criei um usuário chamado transfer no servidor A e no servidor B. Permiti que a transferência pudesse fazer ssh no servidor B sem precisar de senha usando chaves de autenticação.
Então agora, do Servidor A, estou tentando transferir su como, ssh para o Servidor B e executar o comando.
Isso funciona perfeitamente bem como root. Porém, quando sou eu mesmo ou qualquer outro usuário, ele está me pedindo a senha do usuário de "transferência" no Servidor B.
Aqui está a sequência de comandos:
#!/bin/bash
su transfer -c 'ssh transfer@ServerB script $1 $2'
Responder1
Crie um script de shell que execute o comando remoto:
% cat > /home/transfer/exec-remote-sw <<EOF
#!/bin/bash
ssh transfer@ServerB script $1 $2
EOF
% chmod 755 /home/transfer/exec-remote-sw
Teste este script executando-o como transfer
usuário:
% /home/transfer/exec-remote-sw arg1 arg2
Agora como root, crie um grupo Linux (por exemplo transfer
, ) e adicione todos os usuários que precisam de acesso a esta funcionalidade ao grupo Unix:
% groupadd transfer
% usermod -a -G transfer login1
% usermod -a -G transfer login2
...
% usermod -a -G transfer loginN
Como root, anexe o seguinte ao /etc/sudoers
arquivo executando visudo
:
%transfer serverA = (transfer) NOPASSWD: /home/transfer/exec-remote-sw
Teste fazendo login como um dos usuários do grupo de transferência e executando:
% sudo -u transfer /home/transfer/exec-remote-sw arg1 arg2
Para simplificar isso para seus usuários, peça-lhes que adicionem o seguinte aos seus arquivos .profile (ou adicionem-no a /etc/profile para todos):
alias svrbexec="sudo -u transfer /home/transfer/exec-remote-sw"
Então os usuários podem digitar:
% svrbexec arg1 arg2
e o processo remoto deve ser executado com seus dois parâmetros passados.