Jenkins要求使用证书才能使用 ssh 发布和 ssh 命令。可以在下进行配置"manage jenkins" -> "Configure System"-> "publish over ssh"。
"manage jenkins" -> "Configure System"-> "publish over ssh"
问题是:如何创建证书?
我有两台ubuntu服务器,一台运行Jenkins,一台用于运行应用程序。
我应该设置Jenkins证书并将其一部分放置在部署框中,还是将证书设置在部署框上并将其一部分放置在Jenkins上?证书是否需要使用名为Jenkins的用户名,或者可以用于任何用户?我们在开发箱上没有Jenkins用户。
我知道有很多不兼容的ssh类型,詹金斯需要哪些呢?
有没有人找到有关如何全部设置的指南(如何生成密钥,将密钥放置在何处等)?
您将需要在Jenkins服务器上以Jenkins用户身份创建公用/专用密钥,然后将公用密钥复制到要在目标服务器上进行部署的用户。
步骤1,以用户身份在生成服务器上生成公钥和私钥 jenkins
jenkins
build1:~ jenkins$ whoami jenkins build1:~ jenkins$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): Created directory '/var/lib/jenkins/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa. Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub. The key fingerprint is: [...] The key's randomart image is: [...] build1:~ jenkins$ ls -l .ssh total 2 -rw------- 1 jenkins jenkins 1679 Feb 28 11:55 id_rsa -rw-r--r-- 1 jenkins jenkins 411 Feb 28 11:55 id_rsa.pub build1:~ jenkins$ cat .ssh/id_rsa.pub ssh-rsa AAAlskdjfalskdfjaslkdjf... jenkins@myserver.com
步骤2,将发布文件的内容粘贴到目标服务器上。
target:~ bob$ cd .ssh target:~ bob$ vi authorized_keys (paste in the stuff which was output above.)
确保您的.ssh目录具有权限700,并且您的authorized_keys文件具有权限644
步骤3,配置Jenkins