快速业务通道

在 Linux 上进行自动备份

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-07
SSH_AGENT_PID 始终被注册,在您的 ~/.bash_profile 中输入语句 eval `ssh-agent`.

现在,ssh-agent 已经成为后台进程,可以使用命令 top 和 ps 查看.

现在,我们可以将密码短语与 ssh-agent 共享了.为此,使用程序 ssh-add 将密码短语添加(发送)至运行中的 ssh-agent 程序.

清单 8. 用于免密码登录的 ssh-add

[offsite]$ ssh-add
Enter passphrase for /home/accountname/.ssh/id_dsa: (enter passphrase)
Identity added: /home/accountname/.ssh/id_dsa
(/home/accountname/.ssh/id_dsa)

现在,当我们访问服务器 #1 时,不会被要求输入密码:

[offsite]$ ssh accountname@server1.com
[server1]$ exit

如果还不确信,那么可以尝试删除(kill -9)ssh-agent 进程并重新连接服务器 #1.这次您将会发现,服务器 #1 将请求存储在 .ssh 目录下 id_dsa 文件中的私钥的密码短语:

[offsite]$ kill -9 $SSH_AGENT_PID
[offsite]$ ssh accountname@server1.com
Enter passphrase for key ''/home/accountname/.ssh/id_dsa'':

使用 keychain 简化密钥访问

迄今为止,我们已经学习了几个 OpenSSH 程序(ssh、scp、ssh-agent 和 ssh-add),我们已经创建并安装了私钥与公钥来支持安全、自动化登录过程.您可能已经注意到,本文的大多数设置工作只需做一次.例如,创建密钥、安装密钥、通过 .bash_profile 执行 ssh-agent 的过程在每台机器只需要进行一次.这真是好消息.

不太理想的消息是,每次登录离线服务器的时候都调用 ssh-add,,ssh-agent 与我们将要用来自动化备份工作的 cron 调度进程并不直接兼容.cron 进程不能与 ssh-agent 通信的原因是,cron 作业是作为 cron 的子进程来执行,这样它们就不会继承 $SSH_AUTH_SOCK.

幸运的是,有一个解决方案不仅消除了有关 ssh-agent 和 ssh-add 的限制,可以让我们使用 cron 来自动进行各种需要对其他机器进行安全地无密码访问的过程.Daniel Robbins 于 2001 年在 developerWorks 发表了一个包含三部分的系列 OpenSSH key management(参阅 参考资料 中的链接),其中提供了一个称为 keychain 的 shell 脚本.它是 ssh-add 和 ssh-agent 的前端,可以简化整个无密码过程.从那时起,这个 keychain 脚本经过了多次改进,现在由 Aron Griffis 维护,目前最新版本是 2004 年 6 月 17 日发布的 2.3.2-1 版本.


清单 12. 离线服务器上的 crontab 条目

34 3 * * * /home/backups/remote_db_backup.sh
34 20 * * * /home/backups/remote_db_backup.sh

一个 crontab 行包括两个主要部分,即时间调度部分及其后接的命令部分.时间调度被划分为字段,用于说明命令应该在何时执行:

清单 13. Crontab 格式

---- minute
| ----- hour
| | ------ day of the month
| | | ------ month
| | | | ---- day of the week
| | | | | -- command to execute
| | | | | |
34 3 * * * /home/backups/remote_db_backup.sh

检验您的备份

应该对备份进行例行检查,以保证备份过程工作正常.自动备份过程能够去除不必要的枯燥工作,但是不应因此而变得懒惰.如果数据值得备份,那么它也值得您时常进行抽样检查.

考虑添加 cron 作业来提醒自己每月至少检查一次备份.此外,每隔一段时间修改一次安全密钥也是个好主意,也可以调度一个 cron 作业来提醒自己及时更改安全密钥.

额外的安全措施

为了加强安全,可以考虑在所有机器上安装和配置入侵检测系统(IDS),例如 Snort.当入侵正在发生或者最近曾发生过,IDS 将会通知用户.使用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号