jenkins配置ssh免密码登陆

简介:

说明

jenkins构建时需要连接远程服务器并且执行脚本,这时就需要配置ssh免密钥登录。jenkins构建时都是以jenkins用户进行操作,所以要以jeknins用户来配置免密钥登录。本教程以用户名qiaofeng为例说明。 A:192.168.10.78, B:192.168.10.76,需求:A登录B时免密钥。

 

命令

ssh-keygen -t rsa 产生公钥与私钥对

ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中

 

步骤

 

1. 切换到qiaofeng用户

    su - qiaofeng

 

2. 用ssh-keygen -t rsa产生密钥对

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[qiaofeng@jenkins ~]$ ssh - keygen  - t rsa
Generating public / private rsa key pair.
Enter  file  in  which to save the key ( / home / qiaofeng / .ssh / id_rsa):
Enter passphrase (empty  for  no passphrase):
Enter same passphrase again:
Your identification has been saved  in  / home / qiaofeng / .ssh / id_rsa.
Your public key has been saved  in  / home / qiaofeng / .ssh / id_rsa.pub.
The key fingerprint  is :
56 : 3e : 89 :fc: 6f : 8c : 4d : 06 :ee: 5f :b9: 6b :a3: 6a :d9:e2 qiaofeng@jenkins
The key's randomart image  is :
+ - - [ RSA  2048 ] - - - - +
| |
| |
| . |
| .  + .. |
| S. + . |
| . ...o . |
| ..O o |
* . = .o. |
| oE = + ooo |
+ - - - - - - - - - - - - - - - - - +

 

3. 用ssh-copy-id将公钥从A复制到B

1
2
3
4
5
[qiaofeng@jenkins ~]$ ssh - copy - id  - i ~ / .ssh / id_rsa.pub  "-p 22223 root@192.168.10.76"
root@ 192.168 . 10.76 's password:
Now  try  logging into the machine, with  "ssh '-p 22223 root@192.168.10.76'" and  check  in :
.ssh / authorized_keys
to make sure we haven 't added extra keys that you weren' t expecting.

 

注意

ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中。

如果你远程服务器SSH端口没有修改过,可以不用加-p 22223,要特别注意双引号。

当然你复制文件到远程服务器也可以用SCP命令。

 

4. 验证登录

[qiaofeng@jenkins ~]$ ssh -p 22223 root@192.168.10.76

Last login: Mon Apr 17 15:10:04 2017 from 192.168.10.78

[root@hundsun ~]#

 

扩展

1. 现在实现了需求,如果你想B访问A时也免密钥,只要在B上按上面的步骤来。

 

2. 如果添加指纹的时候提示添加失败,是因为你以前添加过了这个ip的指纹。

解决办法:将.ssh目录的known_hosts文件删除掉。也可以打开这个文件把对应ip的那条记录删除。

 

3. 注意文件权限的问题

 

A

[qiaofeng@jenkins ~]$ ll .ssh/

-rw-------. 1 qiaofeng qiaofeng 1671 4月 19 05:10 id_rsa

-rw-r--r--. 1 qiaofeng qiaofeng 398 4月 19 05:10 id_rsa.pub

-rw-r--r--. 1 qiaofeng qiaofeng 417 4月 19 05:08 known_hosts

B

-rw------- 1 root root 1217 Apr 21 10:46 /root/.ssh/authorized_keys



本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1918027,如需转载请自行联系原作者

相关文章
|
1月前
|
Ubuntu jenkins 机器人
在Jenkins上配置触发Ubuntu环境的图形用户界面(GUI)构建任务。
以上,这趟融合了技术与艺术的Jenkins配置之旅就告一段落了。记住,技术应当像艺术一样有趣和生动,这样才能激发出最大的创新和效率。
51 2
|
3月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
123 10
|
7月前
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
477 1
|
8月前
|
安全 jenkins 持续交付
如何在 Jenkins 中配置邮件通知?
如何在 Jenkins 中配置邮件通知?
398 11
|
9月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
548 1
|
11月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
128 2
|
11月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
209 1
|
10月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
171 0
|
11月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
207 0
|
11月前
|
jenkins Linux 持续交付
Jenkins 入门与基本配置
【8月更文第31天】Jenkins 是一款开源的持续集成/持续交付(CI/CD)工具,广泛应用于自动化软件的构建、测试和部署流程。对于想要提高开发效率和软件质量的团队而言,Jenkins 提供了一个易于使用的解决方案。本文将详细介绍 Jenkins 的安装过程、初始设置以及如何创建第一个构建任务,帮助初学者快速上手 Jenkins。
998 0

推荐镜像

更多