Windows 명령 프롬프트를 통해 암호 인증으로 ssh 실행


93

대화식이 아닌 방식으로 암호를 제공 하여 Windows 명령 줄 에서 ssh 를 실행해야합니다 . 키 기반 인증을 구현하고 다음과 같이 ssh 명령을 실행할 수 있습니다.

ssh <user>@<host> <command>

다음과 같은 명령이 있습니까?

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

여기에 이미지 설명 입력

가능한지 모르겠습니다. 그러나 동일한 해결 방법이있을 수 있습니다. 같은 일을 할 수있는 아이디어를 던져주세요.


2
키 기반 인증을 사용하는 것이 훨씬 더 좋습니다.
Greg Inozemtsev 2012 년

1
예, 암호 기반 인증에 대한 요구 사항도 있습니다.
Balachandar 2012-08-25

12
@GregInozemtsev이 경우, 특히 순수한 보안이 필요하지 않은 테스트 또는 기타 환경에서 이와 같은 작업을 수행하기 위해 빠르고 더러운 스크립트가 필요할 때가 있습니다.
TheJosh

기본 옵션이없는 이유를 모르겠습니다. 나는 -pw superputty (putty) 명령을 찾고 있었다 :( 나는 대신 ssh 키로 이동할 것이라고 생각한다.
m3nda

답변:



160

sshpass의 유틸리티는 정확히위한 것입니다. 먼저 다음 명령을 입력하여 sshpass를 설치합니다.

sudo apt-get install sshpass

그런 다음 ssh / scp 명령 앞에

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

이 프로그램은 Linux를 사용할 때 가장 설치하기 쉽습니다.

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


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

15
제목에 "windows"가 포함되어 있지 않고 Linux / Unix / Mac을 검색 할 때 목록에서 상위에 표시되기 때문입니다. 따라서 여기서이 질문에 답하면 시간을 절약 할 수 있습니다.
Frobbit

1
Mac OS X에서 훌륭하게 작동했습니다 sudo port install sshpass. 를 통해 sshpass를 설치했습니다 . 그러나 다른 이유로 로그인하는 데 문제가있는 경우 sshpass는 자동으로 실패하는 경향이 있습니다 (오류 메시지 없음). 따라서 sshpass먼저 명령을 디버그하십시오 . 그런 다음 sshpass -p blah(등) 을 추가하십시오 .
RedRedSuit 2014-07-29

5
실행 된 셸 명령이 저장된다는 것을 알고 있어야합니다 (예 : '.bash_history') ..
Benjamin

4
Anish-저자가 Windows를 요청했고 Linux에 대한 옵션을 제공했습니다.
arka.b


5

Windows 솔루션

  1. PuTTY 설치
  2. 프레스 Windows-Key + R
  3. 시작하다 putty.exe -ssh [username]@[hostname] -pw [password]

2

PowerShell 솔루션

Posh-SSH 사용 :

New-SSHSession -ComputerName 0.0.0.0 -Credential $cred | Out-Null
Invoke-SSHCommand -SessionId 1 -Command "nohup sleep 5 >> abs.log &" | Out-Null
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.