SSHでサーバーに接続し、ユーザーを切り替えてディレクトリを変更します。

SSHでサーバーに接続し、ユーザーを切り替えてディレクトリを変更します。

サーバーにSSH接続し、ユーザーを切り替えてディレクトリを変更して、コマンドを実行する必要があります。今やってますssh -t username@hostname "sudo su - otheruser && cd /path/to/directory && command"。ただし、これはディレクトリを変更せずにユーザーを切り替えてコマンドを実行します。

ベストアンサー1

su にコマンドを渡すには、-c スイッチを使用します。複雑なコマンドは引用符または二重引用符で囲む必要があります。すでに二重引用符を使用しているので、一重引用符を使用するか、内部二重引用符のペアをエスケープしてください。

例:

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"'

おすすめ記事