初学云计算需要注意什么?多服务器批量如何操作?在云计算运维人员的日常工作中,通常需要同时在多台服务器上执行同样的命令,如对比日志、检查服务等,这就需要从业人员具备服务器批量操作的能力。很多初学云计算的人并不清楚如何使用Linux
Shell在多服务器上批量操作,接下来就给大家介绍一下。
如果需要在大量的服务器执行相同的操作,或者是部署分布式应用(elk、k8s、geth等)时,一般的做法是写一个批量操作的本地脚本,依次CSP到每一台服务器上,然后SSH到每一台服务器上执行脚本。以下是相关知识点介绍:
SSH
Secure
Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。
公钥登陆
理解了非对称加密的原理后,再公钥登陆会非常简单。由于公私钥是唯一的一对,在客户端保障自己私钥安全的情况下,服务端通过公钥就可以完全确定客户端的真实性,所以要实现公钥登陆,我们就要先生成一个公私密钥对。通过ssh-keygen命令来生成密钥对,为了让步骤更完整,我把它们暂时保存到工作目录,默认会保存到/.ssh目录。
把私钥文件./test 的内容放到 客户端的~/.ssh/id_rsa,再使用密码试登陆到服务器后,将公钥内容./test.pub里的内容放到
服务器的~/.ssh/authorized_keys。再次登陆时,ssh 会自动使用自己的私钥来认证,也就避免了输出密码。
批量操作
公钥登陆帮我们避免了每次登陆服务器要输出密码的麻烦,它同时也解决了每个登陆会话都会同步阻塞的问题,这样我们就可以利用ssh的 ssh
user@host command方式来直接在服务器上执行命令。
同时,在我们拥有一个ip列表的情况下,使用for循环遍历ip列表,在多个服务器上批量执行命令也就成为了可能。
想了解更多Linux Shell脚本知识点、想快速掌握云计算运维工程师所需的技能,你可以选择专业学习来入门云计算行业。