Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell SSH和Ubuntu文件传输自动化代理_Shell_Ubuntu 12.04_Scp_Ssh Agent - Fatal编程技术网

Shell SSH和Ubuntu文件传输自动化代理

Shell SSH和Ubuntu文件传输自动化代理,shell,ubuntu-12.04,scp,ssh-agent,Shell,Ubuntu 12.04,Scp,Ssh Agent,我有一个脚本,用于创建数据库转储,并将文件从Ubuntu服务器传输到Linux机器,我使用scp进行文件传输,每次它都会提示输入密码,需要将其自动化。我在Ubuntu机器中使用了Linux的Rsa公钥作为授权密钥,当我scp时,它说权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、password)检查了权限和所有事情,如密码验证关闭等,运气不好 我是否可以在脚本中写入密码并使用,而不考虑安全性,因为我将提供700个许可证,除root用户外,没有人可以访问

我有一个脚本,用于创建数据库转储,并将文件从Ubuntu服务器传输到Linux机器,我使用scp进行文件传输,每次它都会提示输入密码,需要将其自动化。我在Ubuntu机器中使用了Linux的Rsa公钥作为授权密钥,当我scp时,它说权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、password)检查了权限和所有事情,如密码验证关闭等,运气不好

我是否可以在脚本中写入密码并使用,而不考虑安全性,因为我将提供700个许可证,除root用户外,没有人可以访问它

这是我的剧本:

export DB_DUMP_DIR=/home/database_dump
export DB_NAME=database_name_$(date '+%Y_%m_%d').sql

mysqldump -u root  mysql > ${DB_DUMP_DIR}/${DB_NAME}
if [ $? -eq 0 ];then
 scp -i /root/.ssh/id_rsa  ${DB_DUMP_DIR}/${DB_NAME} root@192.0.0.0:
else
    echo "Error generating database dump"
fi

首先想到的是

  • 服务器是否设置为允许密钥身份验证?(这是
    sshd\u config
    中的
    publikeyauthentication
  • 服务器是否允许RSA密钥?(在您的
    sshd\u配置中,这可能看起来像
    rsano
  • root的
    ~/.ssh
    目录是否设置为700?(或更紧)
  • root的
    ~/.ssh/authorized_key
    是否设置为600?(或更紧)
  • 远程计算机是否允许您以root用户身份登录?(在
    sshd\u config
    中的
    permitrotlogin no
    选项)
  • 这真的是你送过来的钥匙吗?您是否尝试使用创建的另一个密钥来测试此功能
最后,在脚本中写下密码从来都不是一个好主意。不要这样做。改为在此处修复密钥身份验证的问题