crontab 上的 SCP 在密钥交换后仍然询问密码
SCP on crontab still asking passphrase after key exchange
我需要在 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
但在那种情况下我也需要输入密码。
有什么建议吗?!?
密码不是密码。
您的密钥已加密,除非您提供密码,否则它会要求您提供。 Cronjob 无法访问您会话中的 ssh-agent
即 运行。您有两个选择:
Remote the passphrase from the key -- 安全性较低,但自动化更简单[=14=]
ssh-keygen -p -P old_passphrase -N "" -f /path/to/your.key
使用sshpass
并在命令行上提供密钥的密码(以明文形式存储密码也不安全)。
我需要在 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
但在那种情况下我也需要输入密码。 有什么建议吗?!?
密码不是密码。
您的密钥已加密,除非您提供密码,否则它会要求您提供。 Cronjob 无法访问您会话中的 ssh-agent
即 运行。您有两个选择:
Remote the passphrase from the key -- 安全性较低,但自动化更简单[=14=]
ssh-keygen -p -P old_passphrase -N "" -f /path/to/your.key
使用
sshpass
并在命令行上提供密钥的密码(以明文形式存储密码也不安全)。