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'"