マシンBの下にファイルを書きたい
/home/test
その権限root:root
はとですrwxr-xr-x
。
testUser
コンピュータBに名前が付けられたアカウントがあります。このユーザーsudo
を使用してマシンBにログインした場合/home/test
。
ssh
ただし、マシンAでコマンドを使用してviaの下にファイルを書き込むようにコマンドを発行したいのですが、ファイルをtestUser@MachineB
usingにコピー中にメッセージが表示されます。スクリプトを使用してこれを行うためにパスワードを入力しないでください。この問題を解決する方法はありますか?/home/test
ssh
Permission denied
scp
/home/test
ところで、パスワード認証なしでログインできるようにssh-keyを設定しました。
Bマシンの実行可能ファイルを使用してsetuid
Bマシンからファイルを書き込むのは良い方法ですか/home/test
?
答え1
パスワードなしでコマンドを実行できるようにsudoを設定したら、cp foo /home/test/
次のコマンドを使用できます。
ssh testUser@MachineB 'cat > foo && sudo mv foo /home/test/' < my_file
ここでは、目的のコマンドを使用してSSHを介して相手にデータを送信するのが一般的な方法です。目標を達成するためにこの方法を変えて使用する他の方法もたくさんあります。