我有一个场景,我需要通过单个脚本监控多个服务器的挂载点。目前我陷入困境:
#!/bin/bash
ser1 = `ssh server1 df -F ext3 -k | \
grep -vE '^Filesystem|tmpfs|cdrom' | \
grep "/$" | awk '{ print $4}' | \
cut -d'%' -f1`
echo $ser1
在运行脚本时,提示会要求输入密码。我想在列表中添加多个服务器。是否可以在不提供密码的情况下自动获取利用率?
答案 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可以帮助您理解公钥/私钥授权。