Eu tenho um servidor web com um usuário dedicado sem privilégios que executa a instância do apache na caixa. O código php para o aplicativo que o servidor da web executa está em um repositório privado do github que ocasionalmente preciso git pull para atualizar.
Desejo usar minhas credenciais pessoais (minha chave id_rsa local), mas por motivos de segurança, configurei a caixa para que eu possa acessar a caixa apenas por meio de uma segunda conta não-root com acesso sudo e, sudo -iu username
em seguida, o usuário do servidor da web.
Eu tentei ativar o encaminhamento de ssh-agent, e até mesmo o sudo manter a variável env SSH_AUTH_SOCK, mas o arquivo auth sock tem as permissões erradas (700 para o usuário em que eu estava).
Eu verifiquei que a chave é realmente adicionada ao agente e que é acessível pelo primeiro usuário. Eu tentei ssh-add -L
do usuário do servidor web e recebi uma resposta dizendo que ele não pode se conectar ao agente ssh. Eu suspeito que isso é porque as permissões estão erradas.
Existe uma maneira de alterar as permissões de forma automatizada?
Ou eu estou indo sobre isso da maneira errada?
fonte
sudoers
arquivo para ser excessivamente permissivo e não tornou mais difícil obter acesso à conta real (você ainda precisaria da chave privada correta). Na verdade, a única razão pela qual posso pensar em sua configuração seria garantir que a conta de função não tenha acesso ao agente ssh ...Respostas:
Eu tive o mesmo problema - em uma caixa Gentoo - onde eu posso logar como um usuário normal apenas, mas precisava usar o encaminhamento de agente para a conta root. De
man su
:assim
su -m -
preservou a
$SSH_AUTH_SOCK
variável ambiente e me deu o resultado desejado.fonte