我有没有密码的设置ssh密钥(Ubuntu),并将它们复制到了我的远程服务器(Centos6)。我可以使用用户名成功使用ssh登录而无需输入密码。
当我在使用我的用户名(不是root)的终端中执行以下脚本时,它将起作用。当我通过cron以我的用户名执行它时,它失败并显示以下响应:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
这是脚本:
#!/bin/bash
export PATH=/home/<username>/git/kodi-playercorefactory/bash-scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
rsync -rvzO -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa.pub' <username>@xx.xxx.xx.xx:<filename> <filename>
任何帮助将不胜感激
该-i
的选项ssh
应该输入包含私钥,而不是公共密钥的文件名。但是您大概已经给定了包含公用密钥的文件名,由name给出/home/<username>/.ssh/id_rsa.pub
。
假设私钥在中/home/<username>/.ssh/id_rsa
,则应该可以进行以下操作:
rsync -rvzO -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa' <username>@xx.xxx.xx.xx:<filename> <filename>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句