我需要在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
但在这种情况下我需要输入密码。 有什么建议吗?!?
答案 0 :(得分:0)
密码短语不是密码。
您的密钥已加密,除非您提供密码,否则会提出要求。 Cronjob无权访问您的会话内运行的ssh-agent
。您有两种选择:
Remote the passphrase from the key - 它不太安全,但更容易自动化
ssh-keygen -p -P old_passphrase -N "" -f /path/to/your.key
使用sshpass
并在命令行上提供密钥的密码短语(以明文形式存储密码短语不安全。)