以下を実行しようとしていますが、正しくありません。
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してください。sudo
(sudo
2番目のパスワードはパスワードを必要としません)
(またsudo
、あなたのルートではなくパスワード)