2012-05-29 3 views
-1

나는 150 개 이상의 서버를 로그인하고 일부 유닉스 명령을 실행해야한다. 한 서버에서 실행하고 150 서버에 ssh 로그인하고 cmds를 실행하고 종료하는 스크립트를 작성하면 문제가 발생합니다. 비밀번호 프롬프트로 어떻게 로그인 할 수 있습니까? 나는 ssh-keygen 공개 및 개인 키 메서드를 사용해서는 안되며, "expect"와 같은 bash 라인이있는 몇 가지 추가 도구를 사용해야합니다.프롬프트없이 ssh 로그인

sqlplus와 ftp에 옵션이있는 것처럼 username/password @ servername으로 구성된 단일 명령으로 ssh를 통한 로그인을 수행하는 일반적인 방법이 있습니다.

+2

아니요. 키 (원치 않는 키) 또는 기대하는 도구 (원하지 않는 키)를 사용하십시오. –

+1

나는 왜 당신이 그 기술을 사용할 수 없는지에 대해 심각하게 질문 할 것입니다 (이것이 단지 운동이 아닌 경우). – Edu

답변

4

명령 줄에서 암호를 지정할 수있는 sshpass라는 유틸리티가 있습니다.

우분투/데비안에서 sudo apt-get install sshpass

sshpass -p 'abcedf' ssh [email protected] "df > ~/test; cat ~/test; rm ~/test;"

희망을 사용하여 설치하려면이

+0

감사합니다. 조 ... 매우 도움이되는 답변입니다. – user1011046

+2

답변을 수락 하시겠습니까? –

1

당신은 당신의 원격 호스트의 각 ~/.shosts 또는 /etc/ssh/shosts.equiv 중 하나를 설정하려고 할 수 있습니다. 자세한 내용은 "인증"의 man ssh을 참조하십시오.

관련 문제