2012-08-25 4 views
78

sshwindows 명령 줄을 비 대화식으로 제공하여 실행해야합니다. 나는 키 기반 인증을 구현하고 단지Windows 명령 프롬프트에서 암호 인증을 사용하여 ssh를 실행하십시오.

ssh <user>@<host> <command> 

같은 SSH 명령을 실행할 수

ssh <user>@<host> -P <password> <command> 

enter image description here

이 가능한 경우 나도 몰라처럼 어떤 명령도 거기에 있었다. 그러나 동일한 문제를 해결할 수있는 방법이 있습니다. 같은 목표를 달성하기 위해 몇 가지 아이디어를 던져주세요.

+2

키 기반 인증을 사용하는 것이 훨씬 좋습니다. –

+0

네, 암호 기반 인증에 대한 요구 사항도 있습니다. – Balachandar

+9

@ GregInozemtsev이 경우, 때로는 순수 보안이 필요하지 않은 테스트 또는 다른 환경에서 이와 같은 작업을 수행하기 위해 신속하고 더러운 스크립트가 필요할 수도 있습니다. – TheJosh

답변

10

PuTTY의 plink는 command-line argument for a password입니다. the answers to this question : Expect (Windows에서 사용 가능)를 사용하거나 Paramiko와 함께 Python으로 실행 프로그램을 작성하는 방법에 대한 다른 제안이 있습니다.

+0

@Birla plink는 특별히 Windows 프로그램이다 .Pexpect와 Paramiko는 모두 Windows에서 사용할 수있다. 문제가 보이지 않는다. –

158

sshpass 유틸리티는 이와 관련됩니다. 첫째,이 명령을 입력하여 sshpass를 설치 :

sudo apt-get install sshpass 

그런 다음이 프로그램은 리눅스를 사용할 때 설치하는 가장 쉬운 방법입니다

sshpass -p '<password>' <ssh/scp command> 

으로 SSH/scp 명령을 앞에 추가.

사용자는 SSH의보다 안전한 공개 키 인증 (ssh 명령 사용)을 대신 사용해야합니다.

+8

rsync에서도 작동합니다. – TheJosh

+0

리눅스 유틸리티 (Cygwin에서 make를 할 수 있지만 sysadmin의 전체 레벨이 다를 수 있음)가 64 개 투표를 얻는 방법과 Plink는 정확하게 OP는 요청했고 추가 작업이 필요하지 않습니다. (아마도 이미 시스템에 이미 설치되어있을 것입니다.) 나는이 것들을 Stack으로 신뢰하는 경향이 있으므로 일반적으로 뛰어 넘을 좋은 이유가 있다면 성가 시게하고 때로는 미치광이로 만드는 농구 ... 어 ... 나는 정말 사랑에 빠졌는지 정말 궁금해. – OhkaBaka

+14

제목에는 "windows"가 포함되지 않으며 Linux/Unix/Mac에서이 항목을 검색 할 때 목록에서 상위에 표시됩니다. 따라서이 질문에 대답하면 시간을 절약 할 수 있습니다. – Frobbit

24

예상 스크립트는 어떻게됩니까?

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect -exact "[email protected]'s password: " 
send -- "mypassword\r" 
interact 
+0

스크립트가 없습니다. –

+0

'expect'은 잘 알려져 있지 않습니다! –

관련 문제