비밀번호 없이 특정 IP의 디스크 공간을 확인하는 방법은 무엇입니까?

비밀번호 없이 특정 IP의 디스크 공간을 확인하는 방법은 무엇입니까?

저는 주어진 IP(플러그인에서는 $HOSTADDRESS$가 됩니다)의 디스크 공간을 확인하는 Nagios 플러그인을 작성하고 있습니다. 스크립트는 잘 작동하지만 ssh를 할 때마다 비밀번호가 필요합니다. 나는 이것이 플러그인에 허용되지 않는다고 생각합니다. 그렇다면 플러그인이 자동으로 암호를 선택하도록 명령에 암호를 입력하는 방법이 있는지 궁금합니다.

#!/bin/bash

used_space=$(ssh $1 "df -h /" | grep -v Filesystem | awk '{print $5}' | sed 
's/%//g');

case $used_space in
   // here goes OK,WARNING,CRITICAL etc. code
esac

답변1

  1. ssh-keygen비밀번호를 요구하지 않고 원격 서버에 자동으로 로그인하도록 플러그인을 구성할 수 있습니다.

  2. 이를 통해 sshpass명령줄 자체에서 비밀번호를 전달할 수 있습니다.

    sshpass -p "password" ssh hostname "df -Ph  | sed -n '/\/$/p'| sed "s/%//g""|awk '{print $(NF-1)}'
    

관련 정보