ユーザーが読むことはできませんが、sudoは可能なファイルをscpするにはどうすればよいですか?

ユーザーが読むことはできませんが、sudoは可能なファイルをscpするにはどうすればよいですか?

scpログインしたユーザーが読み取ることはできませんが、rootとしてsudoする権限を持つリモートサーバーからファイルをコピーするために使用できるものはありますか(パスワードなしで)。どのように?

答え1

この試み:

ssh [email protected] sudo cat /path/to/restricted_file > /local/path

パスワードを入力する必要がある場合は、後に追加する必要がありますsudo-tsshsudo

それが行うのは、sudo cat fileリモートホストで実行され、出力をローカルファイルにリダイレクトすることです。ローカルコンピュータでは、ローカルユーザー権限を持つシェルによってファイルが生成されます。

答え2

sshリモートシステムにログインし、リモートscpシステムからローカルシステムにコマンドを実行してこれを実行できる必要があります。

ssh user@remote sudo scp /path/to/file [email protected]:/local/path

答え3

私は個人的にsudoでしか読めないファイルを集めなければなりませんが、これらすべてを一度にやりたいです。

ssh user@remote 'cd /path/to; sudo tar zcvf - files*' > files.tar.gz

そこからxfファイルをtarし、必要なすべてのファイルを取得します。

関連情報