Shell SSH和Ubuntu文件传输自动化代理
我有一个脚本,用于创建数据库转储,并将文件从Ubuntu服务器传输到Linux机器,我使用scp进行文件传输,每次它都会提示输入密码,需要将其自动化。我在Ubuntu机器中使用了Linux的Rsa公钥作为授权密钥,当我scp时,它说权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、password)检查了权限和所有事情,如密码验证关闭等,运气不好 我是否可以在脚本中写入密码并使用,而不考虑安全性,因为我将提供700个许可证,除root用户外,没有人可以访问它 这是我的剧本: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用户外,没有人可以访问
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的
目录是否设置为700?(或更紧)~/.ssh
- root的
是否设置为600?(或更紧)~/.ssh/authorized_key
- 远程计算机是否允许您以root用户身份登录?(在
中的sshd\u config
选项)permitrotlogin no
- 这真的是你送过来的钥匙吗?您是否尝试使用创建的另一个密钥来测试此功能