vault的安装

Wesley13
• 阅读 629

vault是一个服务器密码及证书管理工具

vault的使用场景

(1) 作为集中存储各个服务器账号密码的服务器。目前我们有服务器需要访问到有密码的后端的时候,有几种方案:

  • export到环境变量
  • 写死到代码里面
  • 上线的时候使用自动化工具对变量进行替换

第一种方案带来的问题是使用麻烦,后两种方案带来的问题是维护和变更麻烦。比如DB密码泄露,需要修改密码,首先DBA修改密码,然后通知到应用,应用再做代码上的变更。如果使用vault的话,DBA只要在vault上面修改好密码之后通知应用重新从vault拉取最新密码就行了。

(2)为每一个操作单位动态分配账号

比如过去我们想要对某些敏感操作进行审计,但是由于生成账号比较麻烦,所以存在公用账号的情况。vault支持为某些后端动态生成账号的功能,比如SQL,当某个应用向vault请求账号密码的时候,vault能够为每次请求生成一个独一无二的SQL账号密码。

(3) 作为证书服务器

vault能够作为CA服务器,根据请求信息自动颁发证书。并且提供在线CA和CRL的功能。不过目前只能在vault里面新生成ROOT-CA,不能导入原有的ROOT-CA。

(4)作为OAUTH服务器

vault支持多种认证后端,比如github、kubernetes、账号密码等等。vault能够将这些账号关联成一个用户,在用户认证之后返回一个token供用户使用。

# 下载 vault wget https://releases.hashicorp.com/vault/0.9.1/vault_0.9.1_linux_amd64.zip

unzip vault_0.9.1_linux_amd64.zip

# 安装vault
cat >/vault/vault.conf <<EOF
backend "file" {
path = "/home/finance/App/vault/data"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
disable_mlock = true
EOF

# 将vault地址写入环境变量

echo "export VAULT_ADDR=http://127.0.0.1:8200" >> /etc/profile
source /etc/profile
# 启动vault
nohub ./vault server -config ./vault.conf &

# 我们能看到vault自动监听在了127.0.0.1:8200,并自动为我们生成了unseal-key以及root-token # 启封 vault,在使用vault之前首先要对vault进行启封,才能对vault进行后续操作。使用上面生成的uneal-key, vault unseal 0Gg1yc/qY2W3f82DnxcZTEjdvMuxpjOV5nzNnVrMy4U= # 认证,使用上面的Root Token vault auth eb45cfe5-9cca-3b23-5416-49f2febeb59c
点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
3年前
springboot+vue项目linux环境部署
项目部署是一个程序员必备的技能,当项目开发过程中,需要将项目部署在开发服务器上,进行自测,或协助运维,测试进行环境的搭建配置,学会了项目部署,你就是团队中最亮的那个仔。项目简介后端:springboot项目【打包为jar包】前端:vue项目【通过cli3搭建】目标服务器:liunx操作系统使用工具xshell:通过命令操作服务器sftp:上传安装包到服务器部
Wesley13 Wesley13
3年前
SFTP 自动输入密码短语
如果你的创建的密钥对设置了密码短语,使用ssh或者sftp命令时,提示手动输入密码短语。这时候如果是自动化的脚本作业,应该如何写呢?网上的方案有使用sshpass,但是如果服务器是AIX系统,很不幸,大概率是找不到这个命令的。ssh.com官网的sshadd(https://www.oschina.net/action/GoToLink?u
Easter79 Easter79
3年前
ssh连接服务器
1.概述ssh是一种网络通信协议,用于计算机之间的加密登录.一般用ssh连接服务器有两种方式:密码认证与密钥认证.密码认证就是通过传统的输入密码的方式登录,密钥认证就是把产生的公钥注册到服务器后,用私钥登录,这样就可以不用每次登录输入密码.特别适合作者这种脑残记不住密码的懒人.2.密码认证密码认证登录直接在终端使用ssh
Stella981 Stella981
3年前
Git远程推送时记住用户名和密码
当使用HTTPS协议推送代码到Git仓库时,发现每次都需要输入密码,操作起来非常麻烦。下面介绍几种免去输入密码的方法。HTTPS协议推送使用HTTPS协议,有一种简单粗暴的方式是在远程地址中带上密码。gitremoteseturloriginhttp://yourname:password@bitbucket.org
Easter79 Easter79
3年前
SSL Certificate Signed Using Weak Hashing Algorithm 和SSL Medium Strength Cipher Suites Supported的...
这两天有个项目被扫描器报了几个中危,都是SSL证书的问题。记录一下解决方案吧。第一个问题:SSLCertificateSignedUsingWeakHashingAlgorithm这里的原因是因为使用弱算法签名的证书。解决方案查了下总结下来是换算法。操作步骤:  1、从证书颁发机构安装服务器的身份验证证书  2、在注册表H
Stella981 Stella981
3年前
SSL Certificate Signed Using Weak Hashing Algorithm 和SSL Medium Strength Cipher Suites Supported的...
这两天有个项目被扫描器报了几个中危,都是SSL证书的问题。记录一下解决方案吧。第一个问题:SSLCertificateSignedUsingWeakHashingAlgorithm这里的原因是因为使用弱算法签名的证书。解决方案查了下总结下来是换算法。操作步骤:  1、从证书颁发机构安装服务器的身份验证证书  2、在注册表H
Stella981 Stella981
3年前
Node.js学习笔记(二、NPM 使用)
介绍NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
Stella981 Stella981
3年前
BeanMock的使用介绍与说明
使用场景Mockito是java单元测试很常用的一个工具。但是在classAclassBclassC的场景中,假如需要对classA进行单元测试,需要针对ClassC的方法返回不同结果进行验证,而又不希望对classB进行mock。这个时候一般的解决方案有两种:1、使用反射的层层调用(但是对于更深层的调用会显得很繁琐,并
Wesley13 Wesley13
3年前
Rdo远程桌面软件,Rdo远程桌面软件能做什么?怎样批量操作远程服务器?
Rdo软件帮助你管理大量远程桌面的软件,可以保存用户的密码,可以分文件夹进行组织分类。IIS7服务器管理工具是一款多功能服务器管理软件,让你在同一个窗口内浏览到多个服务器桌面的信息,方便对N个服务器进行批量远程管理。IIS7服务器管理目前已解决了服务器卡顿问题,群控功能的实现使运维人员如虎添翼,极大的提高了工作效率。目前rdo远程桌面主要控制wi
Stella981 Stella981
3年前
Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
1、问题描述  假设有两台服务器,A是Jenkins构建服务器,B是应用服务器,现有问题是A构建好应用之后,将程序包传到B服务器进行发布,并执行启动命令?这时候就需要给用到远程“免密码”登录。2、解决原理  公钥认证,是使用RSA(https://www.oschina.net/action/GoToLink?ur