如何批量登陆远程主机和配置【转】
这篇主要是介绍如何批量登陆远程主机和配置,这个过程中是在没有部署并行处理工具或者集群管理工具的前进行的。
————————————首次登陆——————————————
首次登陆需要解决的问题就是:
1,信任远程主机公钥的问题,也就是key_word:yes/no?
2,然后就是远程主机的密码,key_word:password:
在自动化部署过程中,需要进行免交互和免密码登陆。
1,使用expect编写免交互登陆脚本(适用于telnet,ssh,ftp等),然后使用shell调用expect脚本进行批量处理
2,使用ssh-keygen -h创建本地公钥,然后把该公钥传到远程主机之后,就可以免密码登陆
因此,对于要实现首次登陆,并且把本地管理主机的公钥批量传输给远程主机,可以通过编写脚本来实现
————————————首次登陆,创建/root/.ssh——————————————
1,创建登陆单台远程主机的脚本:
ssh_login.exp,内容如下
该脚本主要是首次免交互登陆远程主机,然后创建/root/.ssh目录
2,创建批量登陆脚本 ssh_login_all.sh,内容如下:
3,运行脚本./ssh_login_all.sh,可以在远程主机列表创建/root/.ssh
—————————拷贝本地/root/.ssh/authorizd_keys到远程主机——————————
1,创建拷贝单个文件的脚本
scp_authorized_keys.exp,内容如下
2,创建批量拷贝文件的脚本
./scp_all.sh,内容如下
————————————————————验证登陆————————————————
拷贝完本地的authorized_keys到远程主机之后,本地主机就可以免密码登陆到远程主机了。
配置信任关系之后,同样可以在本地管理主机部署集群管理工具等,进行虚拟集群的集中管理。
例如安装pssh,c3等
————————————————远程主机的配置修改————————————————
根据这两篇博客的内容,到这里基本上可以无密码登陆远程主机了。基于此,则可以部署集群管理工具或者编写并行命令执行脚本,进行远程主机的配置统,或者统一修改
例如:
1. 根据不同主机的IP地址,修改主机名
2. 拷贝以下文件到远程主机:
/etc/hosts;/etc/selinux/config;/etc/ssh/sshd_config;/etc/ssh/ssh_config;/etc/pam.d/sshd;/etc/secutity/access.conf等
yum -y install pssh
pssh -i -h hostfile /etc/hosts
总结:
对于集群节点少于10个的点,其实可以手动配置。但是对于数量众多的集群,编写脚本能够带来很多方便。同时,正式环境的设备都有带外管理界面和管理维护网络,使用起来更加方便。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?