我们可以通过没有密码的linux shell脚本连接amazon redshift吗?

Posted

技术标签:

【中文标题】我们可以通过没有密码的linux shell脚本连接amazon redshift吗?【英文标题】:Can we connect amazon redshift thro linux shellscript without password? 【发布时间】:2014-03-31 03:30:40 【问题描述】:

团队, 我正在使用亚马逊红移(8.0.2.)。在连接 redshift 集群时,我们可以在没有密码的情况下连接(这个设置我们可以在我的本地机器上进行 - pg_hba.conf 条目)。但是 我已将“md5”设置为提示密码。

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
#host    postgres   postgres    <my_ip>      md5

现在我想通过 linux 服务器连接 redshift。在我的 shell 脚本中,我正在连接 redshift 并进行我的活动。但我应该能够连接 redhsift(即我应该能够将密码作为变量传递,并且在连接之后,我应该能够执行我的活动)。

你能指导我吗?

谢谢

【问题讨论】:

【参考方案1】:

尝试使用以下内容,它对我有用。

psql "host=yourhostname port=yourport_no dbname=your_DB_name user=your_user_id password=your_password" -F  --no-align    -c  " Your_SQL_statement"

【讨论】:

对此发表评论,我如何连接然后从中访问数据。所以首先我给出连接,然后我如何访问 sql?【参考方案2】:

如果我没有误解你,你想避免被终端询问你的密码。如果是这样,您可以通过使用环境变量“PGPASSWORD”来为 redshift 提供密码。

然后您可以在命令行中使用“-w”(小写字母)来避免询问密码。

类似的东西:

export PGPASSWORD=your_password
psql -h your_hostname -d your_databae -U your_user -p your_port -w

【讨论】:

以上是关于我们可以通过没有密码的linux shell脚本连接amazon redshift吗?的主要内容,如果未能解决你的问题,请参考以下文章

通过 ssh 在 linux 服务器上更改密码的脚本

Linux 下生成二进制shell 脚本

Linux 通过 shell 脚本修改密码

Python中的Linux Bruteforce。脚本工作正常,但我没有得到shell

Linux系统shell脚本之批量修改服务器密码

Linux/CentOS Shell脚本中非交互式修改密码