用于监视挂载点的Shell脚本

时间:2015-09-07 07:41:55

标签: shell unix

我有一个场景,我需要通过单个脚本监控多个服务器的挂载点。目前我陷入困境:

#!/bin/bash
ser1 = `ssh server1 df -F ext3 -k | \
        grep -vE '^Filesystem|tmpfs|cdrom' | \
        grep "/$" | awk '{ print $4}' | \
        cut -d'%' -f1`

echo $ser1

在运行脚本时,提示会要求输入密码。我想在列表中添加多个服务器。是否可以在不提供密码的情况下自动获取利用率?

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。您需要设置密码较少的连接。

下面的文章可以帮助您为自己设置一个。

http://www.unixarena.com/2012/07/how-to-configure-password-less.html

答案 1 :(得分:0)

密码提示最有可能是远程系统的ssh授权。避免这种情况的一种非常安全的方法是使用公钥/私钥授权

如果尚未完成,则需要使用

生成密钥对
var sArray = { 856: 'users', 857: 'avatars', 858: 'emails'};

Object.keys(sArray).forEach(function (key) {
    document.write('key: ' + key + ', value: ' + sArray[key] + '<br>');
});

完成此操作后,您可以使用

公钥复制到远程系统
$ ssh-keygen  # generates a new Public/Private Key Pair

现在,在尝试登录时,您的计算机会使用私钥授权自己,而无需输入密码:

$ ssh-copy-id you@remote-server

This Ubuntu help page可以帮助您理解公钥/私钥授权