Shell Script를 통해 원격 컴퓨터에서 파일을 삭제 해야하는 Shell Script를 작성 중입니다.
수동 흐름 :
ssh username@domain.com
.. 도메인에서 :
cd ./some/where
rm some_file.war
그 임무를 수행하는 방법?
답변
당신은 전달할 수 있습니다 ssh
ssh 명령에 쉘을 추가 클라이언트에게 쉘을 시작하는 대신 실행할 명령을 .
ssh username@domain.com 'rm /some/where/some_file.war'
cd
전체 경로를 지정하는 한 무언가를 제거하기 위해 위치로 이동할 필요가 없으므로 건너 뛸 수있는 또 다른 단계입니다.
다음 질문은 인증입니다. 방금 실행하면 암호를 묻는 메시지가 나타납니다. 이것을 대화식으로 입력하지 않으려면 공개 키 인증을 설정해야합니다.
답변
sudo를 사용하여 원격 파일을 삭제하려면 다음과 같이 실행해야합니다.
ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)
세부 사항 .
답변
ssh 명령에는 원격 명령을 실행하는 데 사용할 수있는 명령 매개 변수 (명령의 마지막 매개 변수)가 있습니다.
답변
암호없는 키를 설정 한 다음 ssh 명령의 일부로 명령을 추가하십시오. 참조 : http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/