通过 ssh 将文件从一台计算机复制到另一台计算机时如何使用 sudo 权限

Nic*_*k M 3 ssh scp

好的,所以我已经知道如何将我的计算机中的文件复制到另一台计算机,当我这样做时,(我试图将其复制到 sudo 受保护的目录)它说权限被拒绝。我不知道将 sudo 放在哪里,所以它不在我的机器中,但它不会妨碍目录。这是我通常输入的内容:

scp /Users/username/Documents/folder/folder/script.py pi@192.168.x.xx:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

pLu*_*umo 5

你可以sudo dd这样使用:

ssh user@host 'sudo dd of="/remote/path/to/file"' < "/local/path/to/file"
Run Code Online (Sandbox Code Playgroud)

或使用rsync

rsync -av -e ssh --rsync-path="sudo rsync" "/local/path/to/file" user@host:"/remote/path/to/"
Run Code Online (Sandbox Code Playgroud)

  • 我不知道“rsync”,但我可以告诉一些有关第一个命令的信息:(1)“/remote/path/to/file”在本地引用,但不在远程 shell 中引用;有些路径可能会被误解,甚至可能很糟糕。(2) `tee` 将不必要地打印其输入,最终打印到本地终端;一般来说,输入文件可能很大和/或二进制。(3) `sudo` 可能会要求输入密码或需要 tty;请参阅[我的这个问题](https://unix.stackexchange.com/q/653431/108618)以获得一些见解。我的观点是,第一个命令在幸运的情况下会起作用,但在不太幸运的情况下可能会造成严重破坏。 (2认同)
  • @KamilMaciorowski 感谢您的提醒!我更新了答案。 (2认同)