의사 대화형 SSH 스크립트

의사 대화형 SSH 스크립트

로컬 네트워크의 다른 컴퓨터에 연결하는 스크립트를 실행해야 합니다 ssh(RSA 키를 쌍으로 연결했습니다). ssh로그인한 후에는 명령을 실행하고 로컬 스크립트에서 명령 결과를 가져와야 합니다(분석하기 위해). 를 누른 다음 첫 번째 명령의 일부 정보를 기반으로 작성된 다른 명령을 실행합니다.

내가 하려는 작업에 대한 단계별 지침은 다음과 같습니다.

  • sshFileMaker Server 11을 실행하는 컴퓨터로 이동합니다.
  • 고객 목록 가져오기
  • 고객 찾기
  • 클라이언트가 로그인되어 있으면 목록에서 해당 ID를 가져옵니다.
  • FileMaker 서버에 연결 해제 ID 명령 보내기
  • 그만두다.

이것이 너무 왜곡되지 않기를 바랍니다.

답변1

그것은 다음과 같습니다:

#!/bin/sh
clients=$(ssh server "get-list-of-clients")
myclient=$(echo $clients | grep my-client-name)
myclientid=$(echo $myclient | sed -e 's/^.*id=\([0-9]*\).*$//')
ssh server "kill-client-with-id $myclientid"
  • 첫 번째 줄은 서버에 연결하고 클라이언트 목록을 요청합니다(물론 클라이언트 목록을 가져오기 위해 올바른 서버 이름과 명령으로 대체합니다).
  • 두 번째 줄은 원하는 고객만 추출합니다.
  • 세 번째 줄은 사용하려는 클라이언트 ID만 추출하고 줄의 해당 부분에는 숫자 sed(1)만 남깁니다 id=1234(형식이 그런 식으로 발생하지 않는 한 편집해야 할 수도 있음).
  • 네 번째 줄은 원격 서버에 연결하여 지정된 클라이언트를 종료합니다.

관련 정보