mosh
経由でログインした後、起動コマンドを実行したいと思います。 ssh
を使用すると、次のようになります。
ssh server -t 'some startup command'
しかし、私がモッシュで同様のことをしているとき、私は次のようになります:
$ mosh elisa2 --ssh="ssh -t 'cat blah'"
Pseudo-terminal will not be allocated because stdin is not a terminal.
/usr/bin/mosh: Could not resolve hostname cat
ssh_exchange_identification: Connection closed by remote Host
/usr/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?).
Sshと同様の動作をmoshで実現するにはどうすればよいですか?
MOSH自体がすでにリモートサーバーでプロセスを開始するためのコマンドを実行しているため、これはこの方法ではほとんど不可能です。また、あなたがそれを書いた方法では、それはサーバー名として解釈されますが、それは確かに正しくありません。
mosh(1)
(次回検索を開始するための良い方法)のマニュアルページを読んでいると、次の引数としてコマンドを指定できます。
mosh [options] [--] [user@]Host [command...]
したがって、
$ mosh elisa2 'cat blah'
仕事にぴったりです(MOSHのtty
を気にする必要はありません)。
通常、シェルも実行する必要があるため、cat
の後にbash
もあるはずなので、プロンプトが表示されます。
$ mosh elisa2 "cat blah;bash"