我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在 Linux Shell 脚本中使用加密密码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在 Linux Shell 脚本中使用加密密码

Bash 脚本是系统管理员工作的重要组成部分。它们允许您自动化普通和关键的任务。

使用脚本的一个好处是,它们可以在不需要人工干预的情况下独立运行,但有时自动化需要用户密码的任务可能很有挑战性。让我们看看如何在不影响安全性的情况下安全地自动化需要密码的脚本。

创建一个简单的脚本

假设您想要创建一个简单的脚本,将 Linux 主文件夹备份到远程位置,以便在数据丢失的情况下可以轻松地恢复数据。

首先在您的主文件夹中创建一个Bash脚本文件,使用touch命令或其他方法,并将其命名为 linuxmi.sh。请随意使用您喜欢的任何名称和目录。

该脚本使用 rsync 命令(一种功能强大的文件复制工具)将本地主目录中的所有文件备份到远程服务器。

复制以下脚本的内容并将其粘贴到您的 Bash 文件中。记住用本地 home 用户的正确名称替换用户 linuxmi。还要为远程服务器提供正确的用户名和IP地址。

#!/bin/bash
#将数据复制到远程服务器
rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

如果您没有远程服务器来进行测试,您可以简单地安装 VirtualBox 并在本地机器上设置一个 VM。使用 VM 客户机作为远程服务器。

保存文件。要执行该脚本,您需要使用sudo chmod 755命令授予它执行权限。所有用户都可以执行该脚本,但只有sudo用户可以修改该文件。

最后,从终端使用以下命令执行Bash脚本:

./linuxmi.sh

每当运行此脚本时,系统都会提示您输入远程服务器密码。如果您希望在没有人为干预的情况下运行脚本,例如在使用Cron时,这不是我们想要的。

自动化密码登录

在您的本地 PC 或运行脚本的 PC 上安装 sshpass,这是一个非交互式密码提供程序。

在基于 Debian 发行版

如果你使用的是基于 Debian 的发行版,比如 Ubuntu, Pop!_OS 或 Lubuntu:

sudo apt update && sudo apt install sshpass

在 RHEL 和 Fedora 上

dnf install sshpass

在安装 sshpass 之后修改脚本,使其看起来如下所示:

#!/bin/bash
#将数据复制到远程服务器
sshpass -p "yourpassword" rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

这里以纯文本的形式提供密码。显然,这不是理想的方式,因为它不安全,也不是很好的实践。如果文件落入坏人之手,你的麻烦就大了。

为了提高安全性,我们将使用 GnuPG,这是一种安全的开源加密工具。

对您的密码进行加密

在大多数Linux系统上,GnuPG是默认安装的,但是如果您的系统上没有安装GnuPG,下面介绍如何安装GnuPG。

使用命令  touch .secrets 创建一个名为 secrets 的隐藏文件。作为额外的安全措施,我们在默认情况下隐藏了文件,下面介绍如何在 Linux 上查看隐藏的文件。

在 secrets 文件中,输入远程 PC 的密码并保存。

接下来,使用 gpg 命令加密该文件。

sudo gpg .secrets

系统将提示您输入一个安全且强的密码短语以打开加密文件。

GnuPG 将创建一个新文件,扩展名 .gpg 附加在旧文件名后面。您的新文件名现在应该是 secrets.gpg,假设您使用 secrets 文件名。

如果使用cat命令查看 secrets.gpg 的内容,您将看到一些如下的文本,以表明您的密码已加密。

要以纯文本的形式查看文件的内容,您需要使用以下命令对其进行解密(系统会提示您输入在加密过程中设置的密码):

gpg -dq secrect.gpg

在脚本中使用加密密码

如需在脚本中使用加密后的密码,请按如下步骤更新脚本:

#!/bin/bash
#将数据复制到远程服务器
gpg -dq secrets.gpg | sshpass rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

再次运行备份脚本,这次不会提示您输入密码。

使用Bash脚本自动化任务

GnuGP 经常用于保护 PC 上的敏感文件和数据,也是保护 Linux 上自动 Bash 脚本中的密码的好工具。

使用Bash脚本可以做很多事情。Bash是一个强大的工具,可以帮助您自动化Linux上的许多东西,学习编写Bash脚本是一项值得的投资。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在 Linux Shell 脚本中使用加密密码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在 Linux Shell 脚本中使用加密密码

使用脚本的一个好处是,它们可以在不需要人工干预的情况下独立运行,但有时自动化需要用户密码的任务可能很有挑战性。让我们看看如何在不影响安全性的情况下安全地自动化需要密码的脚本。

如何使用shc工具加密shell脚本

本篇内容主要讲解“如何使用shc工具加密shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用shc工具加密shell脚本”吧!Shc可以用来对shell脚本进行加密,可以将she
2023-06-09

如何对Shell脚本加密

这篇文章给大家分享的是有关如何对Shell脚本加密的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息
2023-06-09

使用shc工具加密shell脚本详解

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以
2022-06-04

Shell脚本如何生成随机密码

这篇文章主要介绍Shell脚本如何生成随机密码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.生成随机密码(urandom版本)#!/bin/bash#Author:丁丁历险(Jacob)#/dev/urandom
2023-06-09

shell脚本加密工具shc使用详解

shell脚本加密工具shcshc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件.应用场景 用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好.但shell脚本是可读写的,很有可能会泄露敏
2022-06-04

如何在JAVA中使用MD5加密对密码进行加密

本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行加密,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.新建Md5.javapackage com.loger.md5;import jav
2023-05-31

如何实现CentOS下对shell脚本加密

本篇内容主要讲解“如何实现CentOS下对shell脚本加密”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现CentOS下对shell脚本加密”吧!第一种方法(gzexe):这种加密方式不
2023-06-09

怎么在Linux中通过Shell脚本命令修改密码

这篇文章给大家介绍怎么在Linux中通过Shell脚本命令修改密码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。交互方式修改密码1. ssh 远程到主机;2. 切换到root账号;[一般都是切换到root进行密码修改,
2023-06-09

如何在Java中使用RSA加密对密码进行加密解密

这期内容当中小编将会给大家带来有关如何在Java中使用RSA加密对密码进行加密解密,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:public static void main(String[]
2023-05-31

如何使用vbs实现解密base64加密的脚本

这篇文章主要为大家展示了“如何使用vbs实现解密base64加密的脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vbs实现解密base64加密的脚本”这篇文章吧。代码如下:Funct
2023-06-08

Shell脚本中如何把输入的密码转换为*

这篇文章主要介绍了Shell脚本中如何把输入的密码转换为*,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、
2023-06-09

在Linux中如何产生和加密解密随机密码

本篇内容介绍了“在Linux中如何产生和加密解密随机密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 使用命令 pwgen 来生成一个
2023-06-13

如何实现Shell脚本中非交互式修改密码

本篇内容介绍了“如何实现Shell脚本中非交互式修改密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1:使用chpasswdchpassw
2023-06-09

PHP如何使用password_hash()加密密码

这篇文章主要为大家展示了“PHP如何使用password_hash()加密密码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何使用password_hash()加密密码”这篇文章吧。使用
2023-06-02

“$” 符号如何在Shell 脚本中使用

“$” 符号如何在Shell 脚本中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常情况下,在工作中用的最多的有如下几项:$0:Shell 的命令本身1到9:表示 She
2023-06-09

PHP如何使用crypt()加密密码

这篇文章将为大家详细讲解有关PHP如何使用crypt()加密密码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 crypt() 加密密码crypt函数的作用是使用salt返回一个散列字符串。此方法生成
2023-06-17

如何在Shell脚本中使用管道

如何在Shell脚本中使用管道?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。示例1:生成一个8位的随机密码tr -dc A-Za-z0-9_
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录