如何批量登陆远程主机和配置

Posted hch的随笔 成功的秘诀在于恒心—迪斯雷利

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量登陆远程主机和配置相关的知识,希望对你有一定的参考价值。

这篇主要是介绍如何批量登陆远程主机和配置,这个过程中是在没有部署并行处理工具或者集群管理工具的前进行的。

————————————首次登陆——————————————

首次登陆需要解决的问题就是:

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个的点,其实可以手动配置。但是对于数量众多的集群,编写脚本能够带来很多方便。同时,正式环境的设备都有带外管理界面和管理维护网络,使用起来更加方便。

以上是关于如何批量登陆远程主机和配置的主要内容,如果未能解决你的问题,请参考以下文章

xshell登陆远程Linux主机

如何批量管理云主机远程连接?

Linux远程登陆Windows系统

2019-05-03 远程主机MSTSC时,同一用户多次登陆时界面不同的问题

[转帖]Ansible批量远程管理Windows主机(部署与配置)

网络协议-应用层协议-远程登陆协议