配置SSH密钥实现rsync免密同步
在你的本地机器(发起 rsync 的机器)上执行: 1. 生成密钥对(如果已有 ~/.ssh/id_rsa 可跳过) ssh-keygen -t rsa -b 2048 一路按回车即可(默认路径,密码留空)。这会生成两个文件: id_rsa(私钥):留在本地,是你的"身份证"。 id_rsa.pub(公钥):需要发给服务器。 2. 将公钥上传到远程服务器 ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_server_ip 这一步需要输入一次服务器密码,目的是把你的公钥写入服务器的 ~/.ssh/authorized_keys 文件。 3. 确保私钥权限为600(仅所有者可读写) chmod 600 ~/.ssh/id_rsa 4. 验证测试 ssh username@remote_server_ip 如果配置成功,你会发现直接就能登录,不再需要输入密码。此时运行 rsync 命令也会直接静默执行。 配置好密钥后,rsync脚本即可全自动运行 #!/bin/bash # 现在运行这个脚本,不会再弹出密码提示 rsync -avz -e 'ssh -p 22' /local/data/ user@remote_ip:/remote/backup/