如何在 cron 作业中加载 ssh_config 文件
how do you load an ssh_config file within a cron job
ssh_config 文件允许您配置 ssh 客户端
您可以为不同的 ssh 主机指定别名、默认用户和身份文件等
文档指出 ssh_config 选项由 ssh 客户端按以下顺序神奇地加载:
- 命令行选项
- 用户特定文件 (~/.ssh/config)
- 系统级文件(/etc/ssh/ssh_config)
但是,这些配置选项不会自动 available/respected 在 cron 作业上下文中
如何为 crontab 上下文或特定的 cronjob 加载 ssh 配置文件,例如 ~/.ssh/config?
更新:
问题是这样的:https://superuser.com/questions/508408/public-key-always-asking-for-password-and-keyphrase
ssh --help
表示有一个 -F configfile
选项。但是,我认为 ssh
仍然应该检查 ~/.ssh/config 和 /etc/ssh/ssh_config
,即使 运行 通过 cron
.
当 运行 来自 cron
时,HOME
环境变量设置为指向您的普通主目录,因此 ssh
具有定位所需的所有信息标准配置文件。
我通过放置以下 cron
作业来测试它:
* * * * * strace -o /tmp/trace -f -s 80 ssh localhost uptime > /tmp/trace
并在作业 运行 后检查 /tmp/trace
,我看到:
29079 open("/home/lars/.ssh/config", O_RDONLY) = 3
29079 open("/etc/ssh/ssh_config", O_RDONLY) = 3
更新
在我的 OS X 机器 (OS X 10.10.3) 上,我设置了以下 ~/.ssh/config
文件:
Host Whosebug
Hostname fileserver.house
IdentityFile fileserver_rsa
我创建了以下 cron 条目:
* * * * * ssh Whosebug uptime > $HOME/output
唯一可行的方法是如果 ssh 正在读取我的 ~/.ssh/config
文件...并且它工作得很好。是什么让您相信事情没有奏效?
ssh_config 文件允许您配置 ssh 客户端
您可以为不同的 ssh 主机指定别名、默认用户和身份文件等
文档指出 ssh_config 选项由 ssh 客户端按以下顺序神奇地加载:
- 命令行选项
- 用户特定文件 (~/.ssh/config)
- 系统级文件(/etc/ssh/ssh_config)
但是,这些配置选项不会自动 available/respected 在 cron 作业上下文中
如何为 crontab 上下文或特定的 cronjob 加载 ssh 配置文件,例如 ~/.ssh/config?
更新: 问题是这样的:https://superuser.com/questions/508408/public-key-always-asking-for-password-and-keyphrase
ssh --help
表示有一个 -F configfile
选项。但是,我认为 ssh
仍然应该检查 ~/.ssh/config 和 /etc/ssh/ssh_config
,即使 运行 通过 cron
.
当 运行 来自 cron
时,HOME
环境变量设置为指向您的普通主目录,因此 ssh
具有定位所需的所有信息标准配置文件。
我通过放置以下 cron
作业来测试它:
* * * * * strace -o /tmp/trace -f -s 80 ssh localhost uptime > /tmp/trace
并在作业 运行 后检查 /tmp/trace
,我看到:
29079 open("/home/lars/.ssh/config", O_RDONLY) = 3
29079 open("/etc/ssh/ssh_config", O_RDONLY) = 3
更新
在我的 OS X 机器 (OS X 10.10.3) 上,我设置了以下 ~/.ssh/config
文件:
Host Whosebug
Hostname fileserver.house
IdentityFile fileserver_rsa
我创建了以下 cron 条目:
* * * * * ssh Whosebug uptime > $HOME/output
唯一可行的方法是如果 ssh 正在读取我的 ~/.ssh/config
文件...并且它工作得很好。是什么让您相信事情没有奏效?