「sudo -ui」でパイプを使う方法は?

「sudo -ui」でパイプを使う方法は?

私はこのコマンドを持っています

cat ~/.ssh/id_dsa.pub | ssh root@[my_server] "cat >> ~/.ssh/authorized_keys"

sudo -iu user12番目の作業の前に同じことをどのように実行できますかcat?つまり、ログイン後にユーザーを変更したいのです。

答え1

キーが画面に表示されるのが気に入らない場合(公開鍵なのでセキュリティ上の問題は大きくありません)、次のようにteeリダイレクトの問題を回避できます。

cat  ~/.ssh/id_dsa.pub \
| ssh root@server 'sudo -i -u user1 tee -a ~user1/.ssh/authorized_keys'

答え2

この試み:

cat ~/.ssh/id_dsa.pub | ssh root@[my_server] $'sudo -i -u user1 bash -c "cat - >> ~/.ssh/authorized_keys"'

関連情報