加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

LINUX用户建立秘钥认证实现SHELL脚本管理、分发和部署

发布时间:2016-11-01 02:44:05 所属栏目:Linux 来源:网络整理
导读:环境: ssh server: 192.168.100.29 server.example.com ssh client: 192.168.100.30 client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部

四.批量部署:

这里的部署就结合了SHELL脚本批量管理和分发两个功能。

比如你要部署N台SSH服务端批量安装APACHE。

1.写好APACHE安装脚本。

2.将安装脚本分发到SSH服务端。

3.利用SHELL管理远端执行该脚本即可。

这里就不做过多演示,有机会我整理下我的LAMP文档,写个APACHE脚本,在这里演示下。

注:因为涉及风险操作。所以不推荐线上利用root用户进行批量管理操作。

建议设置普通账户,再利用sudo提权操作。

通过普通用户建立秘钥认证并sudo提权进行管理,分发,部署

(ssh server)

# useradd user02

# echo "123456" | passwd --stdin user02

(ssh client)

# useradd user01

# echo "123456" | passwd --stdin user01

# su - user01

# ssh-keygen -t dsa

注:默认三个回车完成创建

# ssh-copy-id -i .ssh/id_dsa.pub user02@192.168.100.29

输入密码123456,分发完毕

验证:

# ssh user02@192.168.100.29 /sbin/ifconfig eth0

返回192.168.100.29端IP即表明秘钥验证成功。

分发:

注:客户端user01用户现在可以免密码分发到服务端user02所属文件夹,但若想分发到root所属文件夹,则需要sudo提权。

1.服务端sudo提权:

# su - root

# echo "user02 ALL=(ALL) NOPASSWD:/usr/bin/rsync,/bin/tar,/usr/bin/scp,/bin/cp" >> /etc/sudoers

登录user02账户

# su - user02

查看账户信息:

# sodo -l

----------------

............

User user02 may run the following commands on this host:

(ALL) NOPASSWD: /usr/bin/rsync, (ALL) /bin/tar, (ALL) /usr/bin/scp,(ALL) /bin/cp

----------------

2.客户端先分发到服务端user02用户家目录:

# scp -P22 -r -p /home/user01/ user02@192.168.100.29:/home/user02

-----------------------------

.bash_logout                                  100%   18     0.0KB/s   00:00    

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读