安全Shell脚本编写与高级脚本技巧
1. 安全的密钥管理
在使用SSH时,密钥管理是保障安全的重要环节。keychain工具提供了--clear选项,它能让我们在安全和便利之间做出权衡。
当使用--clear选项启动keychain时,每次登录账户,keychain会在执行常规任务前,立即清空ssh-agent缓存中的所有私钥。这意味着,如果有入侵者试图登录,keychain会要求输入密码短语,而不是直接提供对缓存密钥的访问权限。虽然这增强了安全性,但也带来了一些不便,与单独运行ssh-agent类似。
不过,使用带有--clear选项的keychain仍比单独使用ssh-agent有优势。因为私钥是在登录时清空,而不是注销时,所以使用keychain --clear时,cron作业和脚本仍能建立无密码连接。因此,--clear选项非常适合那些需要偶尔执行安全复制任务,但不常被访问的服务器,如备份服务器、防火墙和路由器。
要在脚本或cron中使用keychain包装的ssh-agent,只需