【问题标题】:First bash script help (how to enter usernames passwords)第一个 bash 脚本帮助(如何输入用户名密码)
【发布时间】:2017-04-13 14:15:30
【问题描述】:

我想制作一个 bash 脚本来登录我的 VPN 服务,使用终端、openvpn 和一些配置文件。

-这是我第一次 bash,我正在阅读 Linux 基础书籍 atm 学习终端命令,我还可以,但仍然是菜鸟。将使用 nano 作为我的文本编辑器 - 不要假设“我知道”我是 linux 终端和 bash 脚本的菜鸟。

#change to directory with config files

cd vpn 

#run command that will startup openvpn/ipvanish(config files stored by me)

sudo openvpn --config ipvanish-SG-Singapore-sin-a01.ovpn

#enter sudo password after prompt
"i don't know what to put here"

#enter ipvanish account username
"i don't know what to put here

#enter the password 
"i don't know what to put here"

如果有人能提供帮助,我会陷入“我不知道该放什么”的困境,我将不胜感激。我想学习所以请解释原因

【问题讨论】:

  • 您可以尝试使用Expect Script。我为 SSH 连接到服务器做了类似的事情:github.com/NLDev/SSH-Starter
  • 请展示程序脚本在运行中的典型会话。也就是说,假设脚本已经完成并且运行良好——向我们展示用户在运行时会看到什么。

标签: linux bash shell


【解决方案1】:

您可以在脚本中使用 -S(从标准输入读取密码)选项将密码传递给 sudo,如下所示:

echo <password> | sudo -S <command>

我假设您想在脚本中为 cronjob 或类似任务硬编码您的 sudo 密码,您应该考虑以 root 身份执行脚本

使用 openvpn,您应该能够将密码和用户名保存在一个文件中,例如 password.txt,将它们写在前两行:

username
password

然后,在您的 .ovpn 文件中添加 auth-user-pass password.txt。 见here

【讨论】:

    猜你喜欢
    • 2019-11-02
    • 2018-07-07
    • 2018-03-27
    • 1970-01-01
    • 2012-05-17
    • 2018-12-30
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多