puppet运维自动化之ssh key

系统 Linux 自动化
ssh key,作为系统管理人员经常会使用ssh连接远程服务器,创建相应的密钥,可以免去每次登录都要输入密码的痛苦。另外关闭相应的password认证,用ssh key来认证也可以提高ssh 安全。但有个问题,就是有N多台服务器,如何批量创建ssh key认证呢? 还是用shell的for循环? 其实这完全可以交给puppet来搞定。本章就为大家介绍运维自动化之ssh key管理。

【puppetsshkey导读】

sshkey,作为系统管理人员经常会使用ssh连接远程服务器,创建相应的密钥,可以免去每次登录都要输入密码的痛苦。另外关闭相应的password认证,用sshkey来认证也可以提高ssh安全。但有个问题,就是有N多台服务器,如何批量创建sshkey认证呢?还是用shell的for循环?其实这完全可以交给puppet来搞定。本章就为大家介绍运维自动化之sshkey管理。

【puppetsshkey基础】

在介绍puppet管理sshkey之前,我们简单回顾下面的问题:

1.什么是ssh?

SSH为SecureShell的缩写,由IETF的网络工作小组(NetworkWorkingGroup)所制定;SSH为建立在应用层和传输层基础上的安全协议。

2.ssh的工作机制

SSH分为两部分:客户端部分和服务端部分,工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接互相建立。

3.如何创建ssh信任

步骤如下:a.本地生成密钥

#ssh-keygen-tdsa-C”testbysky”

b.复制公钥到你想要的登录的机器(比如IP为192.168.3.235)

#scp.ssh/id_dsa.pubroot@192.168.3.235:/root/.ssh/

c.登录到192.168.3.235,这时候还是需要输入密码的。

#cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
#chmod700~/.ssh
#chmod600~/.ssh/authorized_keys

至此,就可以无密码登录。熟悉上面的后,我们就可以为大家详细讲解,如何用puppet来管理sshkey?

【puppetsshkey概要】

puppetsshkey是主要安装和管理SSH主机密钥。

这种类型只知道如何安装到/etc/ssh/ssh_known_hosts,它不能管理用户的授权密钥。

【puppetsshkey参数】

alias:别名,通俗的可以理解为小名,主机可能具有多个别名。如果有多个话可以用数组表示。

ensure:sshkey的基础属性,指定key是否生成,可以设置的值为present,absent。

key:生成的密钥值,一般是十六进制数字的长字符串。

name:名称,主机名。

provider:经常不需要指定,puppet根据相应的操作系统选择相应的provider.

parsed:为ssh解析和生成已知的host文件。

target:存储的SSH密钥文件的路径。

type:key生成的加密类型,通过是ssh-dsa,或者ssh-rsa,备注,dsa也可以用dss来表示。

user:指定是哪个用户的key。

【puppetsshkey示例】

假设,我创建好了一个用户名为sky的用户。由于他是SA,需要管理N台机器,为了方便无密码登录。

代码示例:

ssh_authorized_key{“hostname”:
ensure=>present,
type=>“ssh-dss”,
key=>“密钥值”,
name=>“hostname”,
target=>“/home/sky/.ssh/authorized_keys”,
user=>‘sky’,
}

【puppetsshkey总结】

上面的例子是有个问题的,就是如果每多执行一次的话,他都会把key追加写到/home/sky/.ssh/authorized_keys。

puppet非常强大,创建用户可以用puppetuser来管理,本章最好结合用户。这样可以实现基础的用户管理,用户key管理等基础工作,再配合puppetpackage管理软件包。一步步朝运维自动化方向前进。

补充:刚有同学在QQ群里问到,“就是如果每多执行一次的话,他都会把key追加写到/home/sky/.ssh/authorized_keys”

有没有解决方法,其实这是sky不小心,在密钥值中写了说明“XXX==test1.test.com”,把test1.test.com这个说明给去掉就可以解决了。

责任编辑:庞桂玉 来源: mysqlops.com
相关推荐

2012-05-05 21:43:27

puppet自动化运维

2013-04-16 14:55:21

自动化运维Puppet实战

2012-05-05 22:27:46

puppet自动化运维

2012-05-05 21:48:43

puppet自动化运维

2012-05-04 19:45:30

puppet自动化运维

2012-05-05 21:03:35

puppet自动化运维

2012-05-05 22:10:13

puppet自动化运维

2012-05-05 21:22:40

2014-08-04 17:30:57

自动化运维puppet

2014-08-04 10:10:35

IT运维自动化运维

2014-09-22 11:24:18

运维

2013-04-11 17:31:28

运维自动化Cobbler

2010-08-12 17:39:07

网站运维自动化管理

2012-10-22 14:54:48

2017-03-22 18:30:44

Linux运维自动化ansible

2011-09-01 10:22:03

Cobbler运维自动化

2017-03-22 16:31:30

Linux运维自动化ansible

2018-06-23 07:31:05

2017-10-13 13:14:35

互联网

2013-04-17 15:48:51

点赞
收藏

51CTO技术栈公众号