文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux中如何用ssh命令统计分布式集群信息

2023-05-25 14:23

关注

这篇“Linux中如何用ssh命令统计分布式集群信息”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux中如何用ssh命令统计分布式集群信息”文章吧。

一、统计分布式集群信息的思路

用免密的远程登陆命令,实现一台机器访问其他集群的机器。因此想要实现有几个重要步骤:

二、SSH加密原理

非对称加密技术是一种加密和解密用的不同密钥的加密方法。其中RSA和DSA就是非对称加密方法。当然非对称加密算法有一个前提,就是有一对密钥可以相互加密和解密,通常这一对密钥就会成为持有者的公钥和私钥。公钥是其他人可以知悉的密钥,而私钥只能持有者自己知道。当然如果私钥泄露给外人,可能会有信息安全问题。

假如:A要发送给B一个加密数据。第一种方法是:A用自己的私钥加密,B获得数据后用A的公钥解密。第二种方法是:A用B的公钥加密数据,B获得数据后再用自己的私钥解密。

SSH远程登录用的是第一种方法。

三、SSH命令

常用的方法是

ssh -i [私钥文件名] -p  [端口号] user@hostname  [执行的命令]

其中私钥文件名默认为 $HOME/.ssh/id_rsa    或者 $HOME/.ssh/id_dsa ,端口号默认为22.

例如:

ssh   myname@128.180.146.89  #输入目标主机的密码后进行远程操作,exit命令退出

四、利用ssh-keygen和ssh-copy-id 实现免密登录

ssh-keygen     #直接全部回车,先都默认

然后会在$HOME/.ssh/   目录下生成一个密钥对文件,其中 *.pub统一为公钥文件,另外一个就是私钥文件。

接下来把公钥文件中的内容拷贝到目标主机用户的 $HOME/.ssh/authorized_keys 中。拷贝方式可以自己手动操作。也可用如下命令实现

ssh-copy-id -i [公钥文件名]  user$hostname

例如  :

ssh-copy-id -i  $HOME/.ssh/id_rsa.pub  myname@128.180.146.89

然后再执行远程登录命令就可以实现免密登录啦。如果第二次登录还需要密码,可能是因为文件和文件目录权限问题。也可能是因为连接的私钥与公钥不是一对。

五、Linux Shell 脚本实现

sshtest.sh文件:

#!/bin/bash
func___setenv(){
   RTS_ECT_DIR="$HOME"
   #.....
}
######################################
#
#   程序主体
######################################
 
#调用环境变量
func___setenv
 
#读取机器连接信息
while read line
do
ssh_cmd=
ssh_linkhost=`echo ${line}`
    while  read  cmdline
    do
    #空命令行跳过
    if [ -z "$cmdline" ]; then
        continue 
    fi
    
    #读取的命令行拼接;
    if [ ! -n "$ssh_cmd" ]; then
        ssh_cmd=`echo ${$cmdline}` ;
    else
        ssh_cmd="${ssh_cmd};"`echo ${$cmdline}` ;
    fi
    done <${RTS_ECT_DIR}/sshcmd.cfg
#执行远程命令
ssh $ssh_linkhost $ssh_cmd </dev/null
done <${RTS_ECT_DIR}/sshlink.cfg

sshlink.cfg 文件:前提要先配好密钥才可以免密登录

myname@128.180.146.89
myName@128.180.146.90
Myname@128.180.146.91

sshcmd.cfg 文件:根据自己需要填写

ps -ef|grep java 
df -h

六、ssh只循环一次问题

如果上述代码的倒数第二行如果改成

ssh $ssh_linkhost $ssh_cmd

那么while循环就只循环1次。因为while read line 会把循环信息放到标准输入中,而ssh命令会把输入缓存全部读光,因此while不在循环,所以ssh命令需要重定向。

以上就是关于“Linux中如何用ssh命令统计分布式集群信息”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网服务器栏目。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯