密钥交换后,crontab上的SCP仍在询问密码

时间:2017-04-25 14:23:17

标签: ssh crontab scp

我需要在crontab中执行“SCP”命令而不输入密码。 所以我创建了密钥

ssh-keygen -t rsa

然后将id_rsa.pub文件转移到host_dest

之后,将id_rsa.pub的内容复制到~/.ssh/authorized_keys

$ cat id_rsa.pub >>~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/authorized_keys

如果我尝试执行SCP,仍然需要密码短语。

我也尝试过使用

ssh-add ~/.ssh/id_rsa

但在这种情况下我需要输入密码。 有什么建议吗?!?

1 个答案:

答案 0 :(得分:0)

密码短语不是密码。

您的密钥已加密,除非您提供密码,否则会提出要求。 Cronjob无权访问您的会话内运行的ssh-agent。您有两种选择:

  • Remote the passphrase from the key - 它不太安全,但更容易自动化

    ssh-keygen -p -P old_passphrase -N "" -f /path/to/your.key
    
  • 使用sshpass并在命令行上提供密钥的密码短语(以明文形式存储密码短语不安全。)