2017-04-25 106 views
1

我需要在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 

而且在這種情況下,我需要輸入密碼嘗試。 任何建議?!?

+0

是否在/ etc/sshd_config文件中啓用了PubkeyAuthentication? – TrX

+0

yep PubkeyAuthentication yes #AuthorizedKeysFile \t%h/.ssh/authorized_keys – user3472065

+0

RSAAuthentication = yes? https://security.stackexchange.com/a/71581 – TrX

回答

0

密碼不是密碼。

您的密鑰已加密,除非您提供密碼短語,否則它會提出要求。 Cronjob無權訪問您的會話中正在運行的ssh-agent。你有兩個選擇:

  • Remote the passphrase from the key - 這將是不太安全,但更簡單的自動化

    ssh-keygen -p -P old_passphrase -N "" -f /path/to/your.key 
    
  • 使用sshpass,並提供有關命令行的關鍵的密碼(這是不保證以明文形式存儲密碼)。

+0

我該如何實施您的第一個建議? – user3472065