このsshコマンドが機能しないのはなぜですか? (cat. /ファイル| SSH"cat | sudo -t -t 'cat > /root/location/file'")

このsshコマンドが機能しないのはなぜですか? (cat. /ファイル| SSH"cat | sudo -t -t 'cat > /root/location/file'")

以下を実行しようとしていますが、正しくありません。

cat ~/Desktop/blah.png | ssh -t -t [email protected] "cat | sudo -i 'cat | /path/to/blah.png'"

私の公開SSHキーは次の場所にあります。[Eメール保護]ユーザーの.sshフォルダなので、初期パスワードは必要ありません。コマンドが最後に実行されると、sudo -iルートパスワードの入力を求められますが、Enterキーを押してもキーボードに触れなかったかのようにすぐに失敗します。おそらく、このcatコマンドがパスワードプロンプトに含まれているような気がします。出力は次のとおりです。

trusktr@LENOVO-PC ~
$ cat ~/Desktop/win-8.1-missing-lockscreen-setting.png | ssh -t -t [email protected] "cat | sudo -i 'cat > /srv/http/default/htdocs/~/img/win-8.1-missing-lockscreen-setting.png'"
tcgetattr: Not a character device
[sudo] password for root:
You type like i drive.
[sudo] password for root:
Your mind just hasn't been the same since the electro-shock, has it?
[sudo] password for root:
Maybe if you used more than just two fingers...
sudo: 3 incorrect password attempts
Connection to 50.116.4.56 closed.

rootユーザーを介した直接SSHアクセス権はなく、rootパスワードを使用してsudoアクセス権を持つ一般ユーザーを介してのみ可能です。

root以外のユーザー(すべて1つのコマンドで)を介してSSHを介して画像をルート位置に転送するにはどうすればよいですか?

答え1

sudo有効なパスワードではなくblah.pngを入力したため、機能しません。

これにより、必須コマンドが1行にまとめられます。

scp ~/Desktop/blah.png [email protected]:~/ && ssh -t -t [email protected] "sudo cp ~/blah.png /path/to/blah.png && rm ~/blah.png"

答え2

オプション#1:scpファイルをアカウントに送信し、ssh端末でファイルを所定の位置に配置します。

オプション#2:認証をキャッシュする場合は、複雑な複製を試みる前にsudoログインしてrootしてください。sudosudo2番目のパスワードはパスワードを必要としません)

(またsudoあなたのルートではなくパスワード)

関連情報