在bash脚本

时间:2017-04-05 18:03:26

标签: linux bash ssh cron

我已经编写了一个BASH脚本,该脚本在用户模式下使用Anacron自动完成。 该脚本在SSH模式下执行rsync以同步文件。 该脚本应使用用户的默认(密码加密)SSH密钥对SSH服务器进行身份验证。

如果我直接从终端运行它,这是按预期工作的。 弹出众所周知的对话框,提示用户解锁SSH密钥。 但是,如果它被Anacron触发,则不会。

我可以确认Anacron在用户模式下执行脚本,因为whoami返回正确的用户名。但是对话框没有显示出来。代替

ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory

打印出来。实际上,指定的路径并不存在。

我的anacrontab看起来像这样:

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# period  delay  job-identifier  command
1         1      user.backup     /usr/local/bin/backup.sh -p ~/.nb/ssh.config >> /tmp/user.backup.log 2>&1

Anacron是从~/.profile触发的 我的猜测是我错过了在anacrontab中为SSH密钥解锁过程设置正确的环境。

我需要做些什么才能让这个过程在这个地方运作?

修改这与https://askubuntu.com/questions/900547/ssh-key-unlock-prompt-from-anacron-task

重复

0 个答案:

没有答案