下面按最常见场景给你讲:在 Debian 上安装 Jenkins 后,如何配置 SSH 密钥,用于 Jenkins 拉取 Git 代码或登录远程服务器。
sudo -u jenkins ssh-keygen -t rsa -b 4096 -C "jenkins@debian"
默认生成:
/var/lib/jenkins/.ssh/id_rsa/var/lib/jenkins/.ssh/id_rsa.pub⚠️ 一定要用 jenkins 用户生成,否则权限会出问题。
查看公钥:
cat /var/lib/jenkins/.ssh/id_rsa.pub
~git/.ssh/authorized_keysgitcat /var/lib/jenkins/.ssh/id_rsa
git@github.com:user/repo.git
sudo -u jenkins ssh-keygen
sudo -u jenkins ssh-copy-id user@remote-server
测试:
sudo -u jenkins ssh user@remote-server
安装插件:Publish Over SSH
配置路径:
Manage Jenkins → Configure System → Publish over SSH
填写:
原因:
.ssh 权限不对修复:
chmod 700 /var/lib/jenkins/.ssh
chmod 600 /var/lib/jenkins/.ssh/id_rsa
chown -R jenkins:jenkins /var/lib/jenkins/.ssh
sudo -u jenkins ssh-keyscan remote-server >> /var/lib/jenkins/.ssh/known_hosts
如果你说的是:
可以告诉我具体场景,我给你更精确的配置。