大部分人都不了解这篇文章的知识点“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[公钥文件名]用户$主机名
例如:
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 = & quot$ HOME & quot
# .....
}
######################################
#
#程序主体
######################################
#调用环境变量
func___setenv
#读取机器连接信息
读取行时
做
ssh_cmd=
ssh_linkhost=`echo ${line} `
在读取cmdline时
做
#跳过空命令行
如果[-z & quot;$ cmdline & quot];然后
继续
船方不负担装货费用
#读取命令行拼接;
如果[!-n & quot;$ ssh _ cmd & quot];然后
ssh _ cmd = `echo $ { $ cmdline }
其他
ssh _ cmd = & quot$ { ssh _ cmd };"` echo $ { $ cmdline } `;
船方不负担装货费用
完成& lt${RTS_ECT_DIR}/sshcmd.cfg
#执行远程命令
ssh $ ssh _ linkhost $ ssh _ cmd & lt/dev/null
完成& lt$ { RTS _ ect _ dir }/ssh link . cfgshlink . CFG文件:只有拥有好的密钥,才能无密登录。
myname@128.180.146.89
myName@128.180.146.90
我的名字@ 128.180.146.91宋承宪cmd.cfg文件:根据自己的需要填写。
ps -ef|grep java
Df -h VI。ssh只循环一次。如果将上面代码的倒数第二行改为
Ssh $ssh_linkhost $ssh_cmd那么while循环将只循环一次。因为while read行将把循环信息放入标准输入,而ssh命令将读取所有的输入缓冲区,而while不在循环中,所以ssh命令需要被重定向。
评论前必须登录!
注册