명령 실행 방법(원격, 비동기, 풀)

명령 실행 방법(원격, 비동기, 풀)

원격 데스크톱 컴퓨터에서 명령을 실행하고 싶지만 원격 컴퓨터가 나와 10시간 떨어져 있는 대부분의 시간 동안 오프라인 상태이고 알 수 없는 IP를 사용하는 방화벽/NAT 뒤에 있을 수 있기 때문에 SSH가 어려울 수 있습니다. 그래서 내 명령을 최대한 끌어내야 합니다. 농담이었는데 뭔가 생각하고curl http://.../do.sh | bash 있었어요 .

그러한 것을 지원하는 도구가 있습니까?

내가 찾고 있어요

  1. 간단하고 합리적이며 안정적인 것
  2. 리눅스의 경우
  3. URL, 이메일 주소 등에서 명령을 안전하게 추출합니다.
  4. 물론 어떤 형태의 인증이 실제로 필요합니다(예: 서명되지 않은 작업은 수행하지 않음).
  5. 표준 출력 및 표준 오류에 보고하고 종료 값이 나에게 반환될 수도 있습니다.

sshd필요한 경우에도 HTTPS와 유효한 인증서를 서버에 제공할 수 있습니다. 이론적으로는 스스로 뭔가를 해킹할 수 있다고 생각하지만 시간이 많이 걸릴까 걱정됩니다.

유제이전에 질문을 받았지만 실제로 답변을 받은 적은 없습니다. (프로메일과 코드를 직접 사용하세요. $250에 강력한 상용 도구를 사용하세요.)

답변1

그다지 어리석은 것은 아니며(ssh 아이디어) a) ssh 서비스를 제공하는 시스템이 온라인이고 b) 항상 동일한 이름/IP를 통해 연결할 수 있는 경우 쉽게 구현할 수 있습니다. SSH 스크립트를 사용하여 특정 사용자(데몬?) 계정에 대해 비밀번호 없는 인증을 수행하고 파일을 추출한 다음 조작할 수 있습니다. 바구니를 만드는 것은 별로 어렵지 않은(혹은 시간이 많이 걸리는) 일은 아닌 것 같아요.

답변2

git또는 svn저장소 사용과 포스트훅 사용을 고려할 수도 있습니다 . 예를 들어:

  1. bash클라이언트는 실행할 명령 또는 스크립트 목록을 사용하여 파일을 수정합니다.
  2. 클라이언트는 수정된 파일을 원격 서버(대부분의 시간 동안 온라인 상태인 서버 - bitbucket또는 github또는 임의의 git/ svn서비스 제공자를 사용함) 에 푸시합니다.
  3. 서버에 로그인할 때 실행됨 git merge/svn update
  4. 가지다git merge hook또는svn post-update hook trick

어렵지 않으며 서버가 오프라인 상태인 것을 처리하는 방법이 될 수 있습니다.

답변3

저는 cfengine이나 puppet과 같은 것을 살펴보겠습니다. 이들은 원격 서버에서 명령을 실행하고 결과를 기록하도록 설계되었습니다.

관련 정보