环境:
通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署
首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端
注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁。
一.建立秘钥认证
1.在客户端创建秘钥对:(ssh client)
一路回车即可
2.查看生成的秘钥对:(ssh client)
秘钥生成完毕
3.将公钥(锁)分发到SSH服务端:(ssh client)
注:若非root用户,以及自定义SSH端口,则格式为:
输入yes,然后密码后回车:
公钥分发完毕
4.服务端查看收到的分发文件:(ssh server)
成功收到
5.客户端验证登陆:(ssh client)
查看服务端IP地址:
注:这里遇到警告提示“Address 192.168.100.29 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!”。
解决办法为修改客户端/etc/hosts文件,将服务端的ip地址与主机名对应关系写进去就可以了。
重新查看
无错误提示:
查看服务端内存
二.创建SHELL脚本实现批量管理:(ssh client)
1.创建脚本:
2.生成IP列表:(若有多台SSH服务端需要管理,这里以此类推即可)
3.执行脚本:
管理成功
三.创建SHELL脚本实现批量分发:(ssh client)
1.创建脚本:
脚本IP列表已创建
执行脚本:
将本地/root下文件分发到SSH服务端主机
分发成功
四.批量部署:
1.写好APACHE安装脚本。
2.将安装脚本分发到SSH服务端。
3.利用SHELL管理远端执行该脚本即可。
这里就不做过多演示,有机会我整理下我的LAMP文档,写个APACHE脚本,在这里演示下。
注:因为涉及风险操作。所以不推荐线上利用root用户进行批量管理操作。
建议设置普通账户,再利用sudo提权操作。
通过普通用户建立秘钥认证并sudo提权进行管理,分发,部署
注:默认三个回车完成创建
输入密码,分发完毕
验证:
返回192.168.100.29端IP即表明秘钥验证成功。
分发:
注:客户端user01用户现在可以免密码分发到服务端user02所属文件夹,但若想分发到root所属文件夹,则需要sudo提权。
1.服务端sudo提权:
登录user02账户
查看账户信息:
2.客户端先分发到服务端user02用户家目录:
2.连接服务端后执行sudo cp命令执行本地拷贝:
拷贝成功
注:
是将/test1目录拷贝到/test2/目录下
是将/test1目录下的所有文件拷贝到/test2/目录下
-------大功告成--------
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/shellbc/80972.html