我有两个Linux机箱。
其中一个有 cron 作业,用于打包几个文件。我希望另一个框自动下载它。
现在,我故意没有指定任何方法来实现这一点,因为我可能只是用一个普通的解决方案来限制自己。
搜索网络,我可以使用同步但没有简洁的例子。
另一个选择是创建一个权限非常有限的专用 SSH 用户(dir jail,no dir listing 等),它将被从属框用来下载 tarball。
我有什么选择?有没有什么好的链接可以举例?
要求:目前我不介意带宽等。无论如何,文件不是太大。
答案1
这是无密码登录。
首先id_rsa.pub
使用此方法创建一个密钥
[max@localhost .ssh]$ ssh-keygen 生成公钥/私钥 RSA 密钥对。 输入保存密钥的文件(/home/max/.ssh/id_rsa): 输入密码(无密码则为空): 再次输入相同的密码: 您的身份已保存在 /home/max/.ssh/id_rsa。 您的公钥已保存在 /home/max/.ssh/id_rsa.pub。 密钥指纹是: 93:24:83:37:eb:5e:13:97:d1:ea:bd:0a:d8:29:9f:ba[电子邮件保护] 钥匙的随机图像是: +--[RSA 2048]----+ | | | 。 。 | | 。 = 。 。 。 | | 。 *。 + | |.S+| |.o*.| | + *。 。 | | 。 + +。 | |呃呃...| +-----------------+
id_rsa.pub
与远程系统共享密钥
此密钥将显示在.ssh/
您的主目录下的目录中
使用此命令,您可以将id.rsa.pub
密钥复制到远程系统([电子邮件保护]*.*)
[max@localhost .ssh]$ ssh-copy-id -i id_rsa.pub[电子邮件保护].*.* 无法确定主机“10.10.*.* (10.10.*.*)”的真实性。 RSA 密钥指纹是 2b:bf:e1:e9:c6:76:b0:2d:a1:45:0f:2a:53:05:10:15。 您确定要继续连接吗(是/否)?是 警告:将“10.10.*.*”(RSA)永久添加到已知主机列表中。 [电子邮件保护].*.*的密码: 现在尝试使用“ssh”登录机器[电子邮件保护].*.*'", 并签入: .ssh/授权密钥 以确保我们没有添加您意想不到的额外键。
现在输入 rsync 命令来复制文件(要自动复制,请编写 crontab,并写入此命令)
这是语法rsync
rsync [选项...] 源... [目标]
[max@localhost .ssh]$ rsync -avz[电子邮件保护].*.*:/home/min/test /home/max/桌面 接收增量文件列表 测试 发送 30 字节 接收 89 字节 79.33 字节/秒 总大小为 0 加速比为 0.00
答案2
我可以使用 rsync,但没有简洁的示例。
$ rsync -avz /directoryname/ username@otherservername:/other/directoryname/