sshpass

How to add ssh passphrase to Docker and removed it after it was used?

会有一股神秘感。 提交于 2021-02-04 16:31:15
问题 The problem sounds elementary in its nature but I cannot find a secure and simple solution. The issue is the following, I have a project and I want to pull dependencies from private git repos to build a runtime environment and remove both SSH key and SSH passphrase afterward. I cannot skip passphrase as it is enforced by git remote repos. I struggle to push the SSH passphrase, so the SSH won't ask for a passphrase I struggle to understand how to do it securely The question of how can I do it,

How to add ssh passphrase to Docker and removed it after it was used?

99封情书 提交于 2021-02-04 16:31:14
问题 The problem sounds elementary in its nature but I cannot find a secure and simple solution. The issue is the following, I have a project and I want to pull dependencies from private git repos to build a runtime environment and remove both SSH key and SSH passphrase afterward. I cannot skip passphrase as it is enforced by git remote repos. I struggle to push the SSH passphrase, so the SSH won't ask for a passphrase I struggle to understand how to do it securely The question of how can I do it,

《Ansible自动化运维:技术与最佳实践》第三章读书笔记

纵然是瞬间 提交于 2021-01-02 11:08:48
Ansible 组件介绍 本章主要通过对 Ansible 经常使用的组件进行讲解,使对 Ansible 有一个更全面的了解,主要包含以下内容: Ansible Inventory Ansible Ad-Hoc 命令 Ansible playbook Ansible facts Ansible role Ansible Galaxy Ansible Inventory Inventory 组件主要存储在配置管理工作中需要管理的不同业务的不同机器的信息。默认 Ansible 的 Inventory 是静态的 INI 格式的文件 /etc/ansible/hosts ,可以通过 ANSIBLE_HOSTS 环境变量指定或者运行 ansible 和 ansible-playbook 的时候用 -i 参数临时设置。 定义主机和主机组 首先看下默认 Inventory 文件是如何定义主机和主机组的,默认的 Inventory 文件如下: # - 主机组由[header]元素分隔 # - 您可以输入主机名或IP地址 # - hostname/ip 可以是多个组的成员 # 未组合的主机,在任何主机组之前指定。 ## green.example.com ## blue.example.com ## 192.168.100.1 ## 192.168.100.10 # 属于'webservers

Linux scp命令

倖福魔咒の 提交于 2020-11-15 18:16:19
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令,是 cp 命令的加强版。 常见命令 基本用法 scp [可选参数] 源文件/目录 目标文件/目录 常用的可选参数 -P 大写的,指定端口号 -r 递归复制整个目录 -v 显示所有 debug 信息 -q 不显示传输进度 -C 大写的,启用压缩 -4 使用 IPv4 地址 -6 使用 IPv6 地址 本地复制到远程 scp - r local_folder remote_username@remote_ip : remote_folder 或者 scp - r local_folder remote_ip : remote_folder 第1个指定了用户名,命令执行后需要再输入密码; 第2个没有指定用户名,命令执行后需要输入用户名和密码; 例如: 复制文件 scp /root/test.txt root@192.168.1.10:/root/ 将 /root/test.txt 拷贝到 192.168.1.10 的 /root/ 目录下,文件名还是 text.txt,使用 root 用户,此时会提示输入远程 root 用户的密码。 复制文件并重命名 scp /root/test.txt root@192.168.1.10:/root/test1.txt 将 /root/test

ssh-pass 使用无需输入密码

寵の児 提交于 2020-10-02 08:01:54
在Linux后台中,经常会用到ssh、scp等命令。需要进行认证,手动输入密码,是交互式的过程。 当将ssh、scp等命令做成自动化脚本时,可能需要非交互式的登录过程,此时可以用sshpass。 安装方式 1.在基于 RedHat/ CentOS 的系统中,首先需要启用 EPEL 仓库并使用 yum 命令安装它。 # yum install sshpass 2.在 Debian/Ubuntu 和它的衍生版中,你可以使用 apt- get 命令来安装。 $ sudo apt - get install sshpass 3 .mac环境 brew install sshpass 4 .另外,你也可以从最新的源码安装 sshpass,首先下载源码并从 tar 文件中解压出内容: $ wget http: //sourceforge.net/projects/sshpass/files/latest/download - O sshpass.tar.gz $ tar - xvf sshpass.tar.gz $ cd sshpass -1.06 $ . / configure # sudo make install 使用举例 使用 -p 参数指定登录密码 # 免密码登录 $ sshpass - p password ssh username@host # 远程执行命令 $ sshpass

SFTP 自动输入密码短语

拜拜、爱过 提交于 2020-08-13 15:42:49
如果你的创建的密钥对设置了密码短语,使用ssh或者sftp命令时,提示手动输入密码短语。 这时候如果是自动化的脚本作业,应该如何写呢? 网上的方案有使用sshpass,但是如果服务器是AIX系统,很不幸,大概率是找不到这个命令的。 ssh.com官网的 ssh-add 有提及用到密码短语的密钥使用情况。 Keys with Passphrases If the key being added has a passphrase , ssh-add will run the ssh-askpass program to obtain the passphrase from the user. If the SSH_ASKPASS environment variable is set, the program given by that environment variable is used instead. Some people use the SSH_ASKPASS environment variable in scripts to provide a passphrase for a key. The passphrase might then be hard-coded into the script, or the script might fetch it from

开发阶段,将SpringBoot应用快速部署到K8S

狂风中的少年 提交于 2020-08-07 07:28:44
背景 对于生产环境,我们一般会用CI&&CD工具完成整个构建和部署,因此本文不适合生产环境; 对于学习和开发环境,我们频繁修改代码,又想快速见到效果,本文就是针对这种场景的; 内容简介 如果您正在开发SpringBoot应用,并且应用部署在K8S环境,可以参考本文将应用快速部署到K8S环境; 文中SpringBoot的版本是2.3.0.RELEASE,从该版本起,SpringBoot官方推荐了一种新的docker镜像构建方案,如果您是之前的版本,请自行修改文中构建镜像的部分; 环境信息 本次实战有两个环境:开发和运行环境,其中开发环境信息如下: 操作系统:Ubuntu 20.04 LTS 桌面版(同样验证过的还有:MacBook pro 13寸,macOS Catalina 10.15.4) CPU :2.30GHz × 4,内存:32G,硬盘:1T NVMe JDK:1.8.0_231 MAVEN:3.6.3 SpringBoot:2.3.0.RELEASE Docker:19.03.10 开发工具:IDEA 2020.1.1 (Ultimate Edition) 运行环境信息如下: 操作系统:CentOS Linux release 7.8.2003 Kubernetes:1.15 另外,请在开发环境安装sshpass; SpringBoot工程源码

1家可能不足20人公司的运维笔试题

醉酒当歌 提交于 2020-07-28 13:24:37
1、播放声音文件脚本 执行1.sh test.wav,ssh登陆到192.168.1.1服务器,root密码是123456,播放/home/temp目录下的test.wav文件,注意test.wav是变量,不是常量。 【之前没有用过linux环境的音视频环境,百度了一下,涉及的知识还是很多的。没做出来。】 2、拷贝文件脚本 执行2.sh test.txt,将/home/hello/temp目录下文件使用rsync指令ssh方式远程同步到192.168.1.1服务器的/home/ftp目录下,登陆192.168.1.1的root账号密码是123456,注意test.txt文件是变量,不是常量。 sshpass -p 123456 rsync -avzP -e 'ssh -p 22' root@192.168.1.1:/home/ftp/ /home/hello/temp 3、ping测脚本 执行3.sh 192.168.1.1 10 20,ping测192.168.1.1主机20次,时间间隔10秒,每次ping3个包,并将每次ping测结果列成一行,以YYYY_MM_DD_HH_MM_SS_PING.txt存储文件。 vi 3.sh #!/bin/bash interval=$1 count=$2 ping -c $count -i $interval 192.168.1.1 >

一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本

本小妞迷上赌 提交于 2020-05-04 18:49:48
​ ​接上篇, 一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路 ,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本,后续结合项目的实际的实用,还是靠各位,贴合我们的实际的项目去制定适合本公司转化的脚本。具体的业务还是要实际的分析的。首先看下我的思路 1.点击一键生成 2.后台拿到测试环境id,测试用例id 3.后台去交验是否存在测试环境,测试用例id。 4.后台开始根据用例请求参数,组织Jmeter脚本 5.产生的脚本代码保存到本地的目录。并且将脚本的项目的信息存储到数据库 6.前台选择执行的测试计划,远程执行的服务器, 7.根据前端的配置的测试计划,获取对应的本地的脚本,复制到远程的服务器上 8.通过ssh链接直接操作远程服务器开启操作。 9.查看远程测试报告的数据,压测过程中监控 10.测试完毕,收集汇总,如有历史记录,对比历史记录的性能差别 上述呢,是我在整个转化的地方,想到的逻辑的,大概在上面的流程上,那么基于大概的上面的设计,我们去设计我们的代码。 我这里的设计,是增加了一个针对存储测试脚本的一个数据表,这里存储到对应的接口的压测脚本的详细信息,包括执行的服务器的信息。具体的数据库的设计如下。 import lombok.Data; ​ import javax.persistence

一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本

牧云@^-^@ 提交于 2020-05-04 13:39:54
​ ​接上篇, 一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路 ,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本,后续结合项目的实际的实用,还是靠各位,贴合我们的实际的项目去制定适合本公司转化的脚本。具体的业务还是要实际的分析的。首先看下我的思路 1.点击一键生成 2.后台拿到测试环境id,测试用例id 3.后台去交验是否存在测试环境,测试用例id。 4.后台开始根据用例请求参数,组织Jmeter脚本 5.产生的脚本代码保存到本地的目录。并且将脚本的项目的信息存储到数据库 6.前台选择执行的测试计划,远程执行的服务器, 7.根据前端的配置的测试计划,获取对应的本地的脚本,复制到远程的服务器上 8.通过ssh链接直接操作远程服务器开启操作。 9.查看远程测试报告的数据,压测过程中监控 10.测试完毕,收集汇总,如有历史记录,对比历史记录的性能差别 上述呢,是我在整个转化的地方,想到的逻辑的,大概在上面的流程上,那么基于大概的上面的设计,我们去设计我们的代码。 我这里的设计,是增加了一个针对存储测试脚本的一个数据表,这里存储到对应的接口的压测脚本的详细信息,包括执行的服务器的信息。具体的数据库的设计如下。 import lombok.Data; ​ import javax.persistence