如何在cron作业中加载ssh_config文件

时间:2015-08-08 01:17:12

标签: ssh cron crontab rsync

ssh_config个文件允许您配置ssh客户端

您可以为不同的ssh主机指定别名,默认用户和身份文件等等

文档说明ssh客户端按以下顺序神奇地加载了ssh_config选项:

  1. 命令行选项
  2. 特定于用户的文件(〜/ .ssh / config)
  3. 系统范围的文件(/ etc / ssh / ssh_config)
  4. 但是,这些配置选项在cron作业上下文中不会自动可用/受到尊重

    如何为crontab上下文或特定的cronjob加载ssh配置文件,如〜/ .ssh / config?

    更新: 问题是:https://superuser.com/questions/508408/public-key-always-asking-for-password-and-keyphrase

1 个答案:

答案 0 :(得分:2)

subitem.setTextColor(R.id.textView_1, context.getResources().getColor(R.color.abc_primary_text_material_light)); subitem.setTextColor(R.id.textView_2, context.getResources().getColor(R.color.abc_primary_text_material_light)); subitem.setTextColor(R.id.textView_3, context.getResources().getColor(R.color.abc_primary_text_material_light)); 表示有一个ssh --help选项。但是,我认为-F configfile仍应检入〜/ .ssh / config和ssh,即使是通过/etc/ssh/ssh_config运行。

cron运行时,cron环境变量设置为指向普通主目录,因此HOME具有查找标准配置文件所需的所有信息。 / p>

我通过执行以下ssh工作来测试这一点:

cron

在作业运行后检查* * * * * strace -o /tmp/trace -f -s 80 ssh localhost uptime > /tmp/trace ,我看到了:

/tmp/trace

<强>更新

在我的OS X机器(OS X 10.10.3)上,我设置了以下29079 open("/home/lars/.ssh/config", O_RDONLY) = 3 29079 open("/etc/ssh/ssh_config", O_RDONLY) = 3 文件:

~/.ssh/config

我创建了以下cron条目:

Host stackoverflow
  Hostname fileserver.house
  IdentityFile fileserver_rsa

唯一可行的方法是,如果ssh正在阅读我的* * * * * ssh stackoverflow uptime > $HOME/output 文件......它的工作正常。是什么让你相信事情不起作用?