2009-08-28 10 views
0

SSH없이 네트워크를 통해 명령을 실행할 수있는 도구가 있습니까?네트워크를 통해 Linux 서버에 쉘 명령 보내기

예를 들어, DVD 버너로 무장 한 새 Linux 상자를 만들고이 명령을 인수를 사용하여 "growisofs -dvd-compat -Z/dev/dvd -dvd-video dvd"네트워크로 보내고 싶습니다. 구울 파일 이 시스템은 자동화 될 것이므로이 작업을 쉽고 효율적으로 수행 할 수있는 무언가가 필요합니다.

+4

왜 ssh 사용에 문제가 있습니까? 그것은 구울 파일을 복사하기 위해 sftp/ftp와 결합 된 명령을 발행하는 데 쉽게 사용할 수 있습니다. – Cascabel

+1

당신의 응답을 선점하려는 시도 : 당신이 피하려고하는 SSH의 암호 프롬프트인지 궁금합니다. 로그인 할 때 암호를 사용할 필요가 없습니다. 공개/개인 키 쌍을 사용할 수 있습니다. ssh-keygen 및 ssh-copy-id에 대한 설명서 페이지를 참조하십시오. – Cascabel

+0

@Jefromi : 그는 ssh를 단일 명령과 함께 사용할 수 있다는 사실을 모르고 암호를 묻지 않고 안전하게 작동하도록 구성 할 수 있습니다. –

답변

1

여기 정교 응답 형태로 내 댓글입니다.

로컬 호스트에서 ssh-keygen을 실행하십시오. 대부분 암호를 기본 위치에 저장하고 암호는 사용하지 않는 것이 좋습니다. 그런 다음 ssh copy-id <[email protected]>을 사용하여 공개 키를 원격 호스트로 복사하십시오. 스크립트에 대한

, 그런 짓을 :

scp "$FILE_TO_BURN" [email protected]$REMOTE_HOST:"$BURN_DROP_DIR" 
ssh [email protected]$REMOTE_HOST $BURN_COMMAND 
ssh [email protected]$REMOTE_HOST rm "$BURN_DROP_DIR/$(basename $FILE_TO_BURN)" 

ssh를 명령의 종료 상태/출력을 캡처하여 오류 검출과 그것을 구체화 주시기 바랍니다. sshfs (대부분의 배포판에 의해 패키지 됨) 같은 것을 사용하여 전체 파일을 먼저 복사하지 않고 네트워크를 통해 구울 파일이있는 디렉토리를 마운트하지 않고이 작업을 수행 할 수도 있습니다.

+0

사실 내 질문은 프로그램 네트워크에 액세스 가능하게 만드는 방법입니다. 사람들이 내 PHP 스크립트를 실행하고 PHP 스크립트가 동적으로 레코딩 프로그램을 실행할 수 있기를 바랍니다. $ BURN_DROP_DIR " ssh를 $ REMOTE_USER @ $ REMOTE_HOST $ BURN_COMMAND ssh를 $ REMOTE_USER @ $ REMOTE_HOST RM은"$ BURN_DROP_DIR/$ (기본 이름에 $의 FILE_TO_BURN) "정말 : 그래서"SCP "$ FILE_TO_BURN"$의 REMOTE_USER의 @에 $의 REMOTE_HOST "실행 PHP를 가지고있다 이 일을하는 가장 좋은 방법은? – Chris

0

쉘 바인딩으로 netcat을 사용할 수 있습니다. 물론 네트워크가 공개적으로 노출되면 이는 매우 위험합니다.

Google search

+0

네,이게 내가 찾고있는 것에 더 가깝다고 생각합니다. 감사. – Chris

관련 문제