标签:操作 app lock root image 服务 不需要输入密码 随笔 设置
===============================================
2020/11/29_第1次修改 ccb_warlock
===============================================
最近构建了一次持续发布环境,其中需要通过ssh密钥配对来实现对另一台服务器的操作,我曾经在17年整理gitlab远程备份时整理了这块的内容,目前将这个内容单独抽出一篇整理,来关联后续的随笔。
示例目标:jenkins服务器可以在不用输入用户名/密码,就可以连接builder服务器执行ssh命令和传输文件的功能。
1. jenkins服务器(centos7,192.168.1.1)
本次示例,jenkins服务器需要对builder服务器远程执行一些操作或者远程复制文件,但是都需要输入用户名/密码。
为了解决这个问题,首先需要实现不需要密码的SSH登陆,SSH密钥配对就可以解决这个问题。
ssh-keygen -t rsa
这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。
在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.jenkins,以便拷贝到远程服务器B。
cd /root/.ssh cp id_rsa.pub id_rsa.pub.jenkins
先在builder服务器上创建目录/root/.ssh。
mkdir -p /root/.ssh
使用scp命令进行远程复制,将jenkins服务器生成的id_rsa.pub.jenkins文件拷贝到builder服务器的/root/.ssh目录下。
scp /root/.ssh/id_rsa.pub.jenkins root@192.168.1.2:/root/.ssh/
此时使用scp命令需要输入密码,当把下面的“2.3 密钥配对”执行后,以后jenkins服务器使用scp命令复制文件到builder服务器的话,就不需要输入密码了。
touch /root/.ssh/authorized_keys
cd /root/.ssh/ cat id_rsa.pub.jenkins >> authorized_keys
chmod 400 authorized_keys
PS. 如果设置为777,那么登录的时候,还是需要提供密码的。
接着来测试下jenkins服务器使用scp复制文件到builder服务器是否还要输入密码。
scp /root/.ssh/id_rsa.pub.jenkins root@192.168.1.2:/root/.ssh/
发现在2.3之前,由于没有设置ssh证书授权认证时,上传需要输入密码;2.3操作完后,由于授权认证,已经不需要输入密码了。
标签:操作 app lock root image 服务 不需要输入密码 随笔 设置
原文地址:https://www.cnblogs.com/straycats/p/14058205.html