Alias para sudo e ssh

3

Estou procurando escrever um alias para o seguinte comando:

sudo su - user
ssh somewhere

Eu tentei

alias jump='sudo su - user; ssh '

e, em seguida, use isso como

jump somewhere

mas isso não funciona. Existem opções ou não é possível?

    
por sttaq 11.06.2018 / 18:25

1 resposta

1

Seu ssh será executado após o sudo su terminar, e é por isso que o seu caminho não funciona. Se você tiver permissão para executar sudo ssh , isso provavelmente funcionará:

alias jump='sudo -u user ssh '
jump somewhere

Como alternativa, su -c . Não aloca tty, mas ssh -tt pode forçá-lo. Eu não tenho certeza que tudo vai dar certo embora. Alias exigiria algumas citações pesadas & escapando do frenesi, é mais fácil com uma função:

function jump { sudo su - -c 'ssh -tt "$@"' user su "$@"; }
jump somewhere

Não se esqueça de unalias jump , se o alias ainda estiver definido.

    
por 11.06.2018 / 20:01