docker部署jenkins,发布任务执行scp免密传输

第一步 进入docker容器

bash 复制代码
# 因为jenkins的任务都是以jenkins用户执行,必须以jenkins用户进入容器生成公私钥
docker exec -it -u jenkins jenkins /bin/bash

第二步 在容器内生成公私钥

bash 复制代码
# 容器中生成公私钥 直接三次回车不设置密码等信息
ssh-keygen -t rsa

第三步 查看生成的公钥

bash 复制代码
# 容器中到用户主目录/.ssh目录下查看生成的公钥
cat ~/.ssh id_rsa.pub

第四步 将公钥的内容追加到需要免密访问的服务器中

bash 复制代码
# 将公钥的内容追加到需要免密访问的服务器的 用户目录/.ssh/authorized_keys文件中
# 可以把jenkins容器中生成的 id_rsa.pub 公钥拷贝到需要免密访问的服务器上 执行
cat ./id_rsa.pub >> ~/.ssh/authorized_keys

第五步 测试结果

bash 复制代码
# 直接写入文件 或者自行vim添加也行,添加完后免密就玩设置好了

# 回到jenkins的容器内部,第一次需要先执行一下ssh连接 这样会生成know_host文件 否则scp会报 Host key verification failed.

ssh [email protected]

scp ./s.txt [email protected]/temp/s.txt

设置成功后就能在jenkins任务或者流水线中愉快的使用scp免密传输文件了

相关推荐
大米☋1 小时前
Docker-高级使用
linux·运维·docker·容器·centos
Anarkh_Lee7 小时前
Neo4j在win下安装教程(docker环境)
docker·容器·neo4j
正经教主8 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
joker_zsl10 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
啥都想学的又啥都不会的研究生10 小时前
Kubernetes in action-初相识
java·docker·微服务·容器·kubernetes·etcd·kubelet
秋秋秋秋秋雨11 小时前
linux安装单节点Elasticsearch(es),安装可视化工具kibana
linux·elasticsearch·jenkins
赵我说的做_life12 小时前
基于Docker的Flask项目部署完整指南
docker·容器·flask
江畔独步13 小时前
docker容器监控&自动恢复
docker·容器·eureka
iangyu13 小时前
centos7部署k8s集群
云原生·容器·kubernetes
去伪存真15 小时前
不用动脑,手把手跟着我做,就能掌握Gitlab+Jenkins提交代码自动构部署
前端·jenkins