我有 2 台机器 machine1 和 machine2。
我想从 machine1 将一些内容写入 machine2 中的文件。
在同一台机器上,我可以运行sudo cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将 的内容~/.ssh/id_dsa.pub
写入~/.ssh/authorized_keys
文件。
但我想将~/.ssh/id_dsa.pub
machine1 的内容放入~/.ssh/authorized_keys
machine2 的文件中。我可以做 ssh 并做这个。由于我使用用户名和密码在单个命令中以静默模式安装 hadoop。
我不想scp
替换整个文件。
我怎样才能在提供另一台机器的用户名/密码的单个命令中做到这一点。
ssh 命令捕获本地标准输入,也可以运行外部命令。如果将这两个事实结合起来,那么这将成为可能:
还有一个名为
ssh-copy-id
intended 的命令可以自动执行此过程。您可以查看man ssh-copy-id
更多信息。你可以这样做:
但是您可能应该
ssh-copy-id
改用它,它是用于该确切目的的工具:或者