1. 创建Jenkins用户的SSH配置
ssh-keygen -t rsa -b 4096 -f /tmp/jenkins_ssh_key -N ""
2. 在Jenkins服务器上执行以下命令
# 切换到root用户
sudo su -# 创建Jenkins用户的SSH目录
mkdir -p /var/lib/jenkins/.ssh
chown jenkins:jenkins /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh# 生成SSH密钥对
ssh-keygen -t rsa -b 4096 -f /var/lib/jenkins/.ssh/id_rsa -N "" -C "jenkins@cicd-prd-jen1"
chown jenkins:jenkins /var/lib/jenkins/.ssh/id_rsa*
chmod 600 /var/lib/jenkins/.ssh/id_rsa
chmod 644 /var/lib/jenkins/.ssh/id_rsa.pub# 创建SSH配置文件
cat > /var/lib/jenkins/.ssh/config << 'EOF'
Host 10.51.17.10HostName 10.51.17.10User rootPort 22IdentityFile /var/lib/jenkins/.ssh/id_rsaStrictHostKeyChecking noUserKnownHostsFile /var/lib/jenkins/.ssh/known_hosts
EOFchown jenkins:jenkins /var/lib/jenkins/.ssh/config
chmod 600 /var/lib/jenkins/.ssh/config# 添加目标服务器到known_hosts
ssh-keyscan -p 22 10.51.17.10 >> /var/lib/jenkins/.ssh/known_hosts
chown jenkins:jenkins /var/lib/jenkins/.ssh/known_hosts
chmod 644 /var/lib/jenkins/.ssh/known_hosts# 验证SSH配置
ls -la /var/lib/jenkins/.ssh/
3. 配置目标服务器的SSH密钥
需要将Jenkins的公钥添加到目标服务器 10.51.17.10 的授权密钥中:
# 切换到root用户
sudo su -# 创建Jenkins用户的SSH目录
mkdir -p /var/lib/jenkins/.ssh
chown jenkins:jenkins /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh# 生成SSH密钥对
ssh-keygen -t rsa -b 4096 -f /var/lib/jenkins/.ssh/id_rsa -N "" -C "jenkins@cicd-prd-jen1"
chown jenkins:jenkins /var/lib/jenkins/.ssh/id_rsa*
chmod 600 /var/lib/jenkins/.ssh/id_rsa
chmod 644 /var/lib/jenkins/.ssh/id_rsa.pub# 创建SSH配置文件
cat > /var/lib/jenkins/.ssh/config << 'EOF'
Host 10.51.17.10HostName 10.51.17.10User rootPort 22IdentityFile /var/lib/jenkins/.ssh/id_rsaStrictHostKeyChecking noUserKnownHostsFile /var/lib/jenkins/.ssh/known_hosts
EOFchown jenkins:jenkins /var/lib/jenkins/.ssh/config
chmod 600 /var/lib/jenkins/.ssh/config# 添加目标服务器到known_hosts
ssh-keyscan -p 22 10.51.17.10 >> /var/lib/jenkins/.ssh/known_hosts
chown jenkins:jenkins /var/lib/jenkins/.ssh/known_hosts
chmod 644 /var/lib/jenkins/.ssh/known_hosts# 验证SSH配置
ls -la /var/lib/jenkins/.ssh/
4. 测试SSH连接
# 查看Jenkins的公钥
cat /var/lib/jenkins/.ssh/id_rsa.pub# 将公钥添加到目标服务器
# 在目标服务器 10.51.17.10 上执行:
echo "jenkins_public_key_here" >> /root/.ssh/authorized_keys在Jenkins服务器上测试:
sudo -u jenkins ssh -F /var/lib/jenkins/.ssh/config 10.51.17.10 "echo 'SSH connection test successful'"