ssh para o servidor e alternar usuário e alterar um diretório [duplicado]

1

Eu preciso do ssh para um servidor, mude de usuário, mude o diretório e execute um comando. Agora estou fazendo ssh -t username@hostname "sudo su - otheruser && cd /path/to/directory && command" . Mas isso não está mudando o diretório, apenas trocou o usuário e executou o comando.

    
por kuldeep 31.01.2018 / 12:52

1 resposta

3

Use a opção -c para passar seu comando para su. Um comando complexo deve ser colocado entre aspas ou aspas duplas. Como você já usa aspas duplas, use aspas simples ou escape do par interno de aspas duplas.

Exemplos:

ssh -t username@hostname "sudo su - otheruser -c \"cd /path/to/directory && command\""
ssh -t username@hostname "sudo su - otheruser -c 'cd /path/to/directory && command'"
ssh -t username@hostname 'sudo su - otheruser -c "cd /path/to/directory && command"'
    
por 31.01.2018 / 15:03