>

필요한 경우 ssh 로그인을 쉽게 수행 할 수 있도록 클라이언트 컴퓨터에 "전화 홈"을 주기적으로 설치하는 방법을 찾고 있습니다. 공개 IP 주소를 가져 와서 어딘가에 게시하는 간단한 스크립트 (예 : Twitter 또는 내가 운영하는 아파치 서버에 대한 http 요청 또는 변경 될 때마다 이메일)를 생각하고있었습니다.

이 목적을위한 기존 도구/스크립트가 있습니까? 검색했지만 찾지 못했습니다

  • 답변 # 1

    ddclient 가장 쉬운 방법은 ddclient를 사용하는 것입니다. dynu.com과 같은 무료 도메인 이름 서버와 결합하여 서버에서 사용합니다.

    링크에 더 많은 문서가 있지만 ddclient  클라이언트의 동적 IP 주소를 폴링합니다. 변경되면 새 주소를 dynu.com (예 :)으로 보냅니다. dynu.com에 사용자 정의 도메인 이름을 지정하는 계정이 있습니다. 그런 다음 http://yourname.dynu.com에 직접 연결하면 클라이언트의 IP로 리디렉션됩니다.

    숫자 IP 주소를 사용하는 것의 장점은 ssh 설정을 지속적으로 업데이트 할 필요가없고 대신 도메인 이름에 직접 연결할 수 있다는 것입니다. 내 서버에서 잘 작동합니다.

    수치 IP

    대신, 이것을 사용하고 싶지 않고 대신 숫자 IP를 게시하는 것을 선호한다면, 여기에 내가 사용했던 오래된 스크립트가 있습니다. 외부 웹 페이지를 사용하여 로컬 IP를 찾는 유일한 방법입니다. 그런 다음 bar@email.com 를 메일로 보냅니다. 하지만 필요에 따라이를 수정할 수 있습니다. 이 작업을 크론 작업으로 실행할 수 있습니다.

    #!/usr/bin/env bash
    CURRENTIP=$(curl -s http://myip.dnsomatic.com)
    # Alternatively, use http://icanhazip.com
    if echo $CURRENTIP | grep -qE '^([0-9]{1,3}\.){3}[0-9]{1,3}$' ; then
      if ! cmp --quiet <(echo $CURRENTIP) /home/pi/.myipaddress ; then
        echo "IP address changed to ${CURRENTIP}"
        echo $CURRENTIP > /home/foo/.myipaddress
        echo -e "Foo's IP address has changed to ${CURRENTIP} .\n" | mail -s 'Change of IP address' bar@email.com
      fi
      else
        echo "ERROR: IP address enquiry returns ${CURRENTIP}"
    fi
    
    

  • 이전 sed - 라인에 매칭 및 붙여 넣기
  • 다음 linux - 이상한 udev 규칙 동작