如何通过ssh写入文件

如何通过ssh写入文件

我想在B机下写一个文件

/home/test其权限为root:rootrwxr-xr-x

我在机器 B 上有一个名为 的帐户testUser。当使用该用户登录到机器 B 时,我可以使用sudo/home/test.

但是现在我想ssh在机器 A 上使用命令来命令在viatestUser@MachineB下写入文件,但在使用将文件复制到时收到消息。我想避免输入密码,以便可以使用脚本完成这些操作。有什么办法可以解决吗?/home/testsshPermission deniedscp/home/test

顺便说一句,我已将 ssh-key 设置为无需密码验证即可登录。

使用setuidB机器上的可执行文件在B机器下写入文件是/home/test一个好方法吗?

答案1

您可以将 sudo 配置为允许在没有密码的情况下执行该命令cp foo /home/test/,然后使用以下命令:

ssh testUser@MachineB 'cat > foo && sudo mv foo /home/test/' < my_file

通过 ssh 将数据传送到另一端您选择的命令是这里的一般技巧。您可能可以找到十几种其他方法来使用此方法的变体来实现您的目标。

相关内容