如何去无密码的shell脚本在Linux
通过杰克·沃伦在bwin 安卓版
在美国太平洋时间2022年10月4日上午7:40
如何去Linux shell脚本的无密码
Jack Wallen向您展示了如何创建需要密码的Linux shell脚本,而不必在脚本中保存密码
通过杰克·沃伦在bwin 安卓版 在美国太平洋时间2022年10月4日上午7:40 如何去Linux shell脚本的无密码 Jack Wallen向您展示了如何创建需要密码的Linux shell脚本,而不必在脚本中保存密码。 图片:dennizn / Adobe股票 Linux是市场上最灵活的操作系统;这个平台几乎没有什么是你做不到的。人们只需要看看shell脚本就能意识到Linux是多么强大和可定制。尽管shell脚本当然不是操作系统新手所使用的特性,但任何管理员都完全理解它们的必要性。 在某些情况下,您可能会遇到需要创建需要密码的shell脚本的情况。如果不想在脚本中保存该密码,可以做什么呢? 看到的:你需要知道的40多个开源和Linux术语(欧赔bwin比较TechRepublic的溢价) 一种解决方案是使用sshpass,这样就可以在shell脚本中使用密码,而不必将密码保存在脚本中。这正是我要告诉你们的。 您需要为Linux shell脚本进行无密码操作 在我的示例中,您需要遵循的惟一内容是两台Linux机器和一个具有sudo特权的用户。我将用Ubuntu Desktop 22.04和Pop!_OS 22.04,因此如果您使用的是基于rhel的发行版,则需要用dnf替换apt-get。 如何安装sshpass 首先,安装sshpass。这只需要安装在你将要运行脚本的机器上,所以在我的例子中Ubuntu Desktop 22.04。我们将创建一个简单的脚本,使用rsync来备份我在Ubuntu中的用户帐户的~/Documents目录。 登录后,打开终端窗口,用以下方法创建脚本文件: 纳米~ /备份 在该文件中,粘贴以下内容: ! / bin / bash 将数据复制到远程服务器 rsync -av文档USER@IP:/home/USER/Backup 其中USER是您的用户名,IP是存放备份的机器的IP地址。 开发人员必读覆盖 保存并关闭该文件。 赋予脚本可执行权限: chmod u + x ~ /备份 现在,如果运行该脚本,系统将提示您输入远程用户密码。我们不希望那样。 如果在这里使用sshpass呢?该脚本看起来像这样: ! / bin / bash 将数据复制到远程服务器 sshpass -p "PASSWORD" rsync -av文档USER@IP:/home/USER/Backup . sh 其中PASSWORD是您的远程用户密码unix脚本,user是您的用户名,IP是存放备份的计算机的IP地址。 我们不希望那样。我们该怎么办?我们加密密码。 如何加密您的密码sshpass 我们的下一步是加密密码。用下面的命令创建一个隐藏文件: 纳米~ / .secrets 在该文件中添加远程用户的密码。保存并关闭该文件。 接下来,你需要加密文件使用: gpg - c ~ / .secrets 这个命令将创建一个新文件.secrets。Gpg,它将包含密码的加密版本。 现在,我们需要修改我们的备份脚本,它现在看起来像这样: ! / bin / bash 将数据复制到远程服务器 gpg dq /home/USER/.secrets.gpg | sshpass rsync -av文档USER@IP:/home/USER/Backup 现在,当您运行./backup命令时,不会要求您输入密码,也不必担心任何人能够查看密码。为了确保这一点,使用以下命令删除原来的.secrets文件: rm ~ / .secrets 就这样。您现在可以在Linux shell脚本中实现无密码。享受这额外的一层安全。 订阅TechRepublic的如何让技术在YouTube上工作观看杰克·沃伦为商务人士提供的最新科技建议。 杰克·沃伦 发表:美国太平洋时间2022年10月4日上午7:40修改:美国太平洋时间2022年10月6日上午6:58bwin 安卓版也看到 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |