web-dev-qa-db-ja.com

このsshコマンドが機能しないのはなぜですか? (cat ./file | ssh <user @ Host> "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キーを[email protected]ユーザーの.sshフォルダーに持っているので、初期パスワードは必要ありません。 Sudo -iコマンドがついに起動し、rootパスワードの入力を求められますが、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にアクセスできる通常のユーザーを介してのみアクセスできます。

Sshを介して、root以外のユーザーを介して、すべて1つのコマンドでrootの場所に画像をキャットするにはどうすればよいですか?

4
trusktr

Blah.pngをSudoにケータリングしているため、機能しません。これは有効なパスワードではありません。

これにより、必要なコマンドを1行にまとめる必要があります。

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

オプション#1:ファイルをアカウントにscpし、次にsshを入力して、ターミナルからファイルを配置します。

オプション#2:Sudoがauthをキャッシュしている場合は、複雑なコピーを試行する前に、ログインしてSudoをrootにします。 (2番目のSudoはパスワードを必要としないはずです)

(また、Sudoはrootではなくyourパスワードを使用します)

1
Ricky Beam