我想自动从我拥有 SSH(和 FTP)帐户的 Linux 服务器下载文件和文件夹。文件应下载到定期(我认为 cron 是执行此操作的正确工具)安装到 OS X 机器上。
我尝试了以下 rsync 命令,效果很好:
rsync -avzbe ssh [email protected]:/www/htdocs/something/somefolder /Users/me/folder/foo/
但是每次都要输入账号密码(服务器机器上的SSH账号),服务器是托管的,我怕改不了密码。
以下是我的问题:
- 如何通过将密码存储在某处来绕过输入密码
- 那么我该如何正确地实现这一自动化呢?
答案1
- 运行
ssh-keygen
并接受每一步的默认设置 cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh/; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh/; chmod 600 ~/.ssh/authorized_keys"
- 编辑 crontab
crontab -e
并添加如下行20 4,16 * * * rsync -a [email protected]:somedir/subdir ~/somedir
答案2
您有两个选择,
建立一个 无密码登录
https://stackoverflow.com/questions/459182/using-expect-to-pass-a-password-to-ssh(对于您无权更改操作系统文件的远程主机)