SSH para um servidor remoto usando o PuTTY através do arquivo de lote do Windows?

3

No Windows, uso o PuTTY para efetuar login em um servidor remoto via SSH. Eu quero usar um script em lotes para o SSH para o servidor remoto usando o PuTTY. O servidor está executando um sistema operacional baseado em Linux.

Eu usei o comando abaixo para fazer isso:

start C:\Windows\System32\putty.exe -ssh server_name -l pankmish -pw wxyz

No entanto, recebi o seguinte erro:

unable to connect to remote host

Se eu usar este comando:

start C:\Windows\System32\putty.exe -ssh server_name -l user_name

Tudo funciona bem e eu recebo uma janela do PuTTY com o nome de usuário "user_name" nela. Se eu fornecer a senha correta, poderei me conectar ao servidor. No entanto, por meio de um script em lote, não posso fornecer a senha quando solicitado.

Como posso resolver isso?

    
por pankmish 01.04.2014 / 20:43

6 respostas

4

Eu tentei passar a senha usando a linha de comando e funcionou bem para mim.

start C:\Users\pankmish\Downloads\putty.exe -ssh server_name -l user -pw %1

e executei o comando do meu windows cmd como abaixo

test_file.bat password

    
por 03.04.2014 / 18:04
3

Verifique se o putty está instalado e o putty.exe está presente em C: \ Windows \ System32

Abra o bloco de notas: digite o seguinte

start putty <username@ip/hostname> -pw <password>

Substitua o acima com seu nome de usuário, ip e senha e salve o arquivo como arquivo .bat. Eu acho que deveria fazer isso.

    
por 11.02.2015 / 20:20
1

Você pode tentar o mesmo truque de esta resposta :

@if (@CodeSection == @Batch) @then

@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Start the putty window with the user name only
start C:\Windows\System32\putty.exe -ssh server_name -l user_name

rem Send the password to putty window
%SendKeys% "wxyz{ENTER}"

goto :EOF

@end

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));

Por favor, publique o resultado.

    
por 01.04.2014 / 22:17
1

O comando abaixo está funcionando para mim como está dentro de um arquivo bat.

"D: \ userdata \ panshriv \ Desktop \ putty.exe" "[email protected]" -pw "mypassword"

  • Meu putty.exe está na minha área de trabalho
  • Meu nome de usuário é "pankaj"
  • Minha senha é "mypassword"
por 18.10.2016 / 07:05
1

Eu uso este código para inserir um endereço IP do usuário. Preencha o nome de usuário e senha com aspas duplas "":

@echo off
set /p id="Enter IP Address: "

START "C:\Program Files\putty.exe" -ssh %id% -l username -pw "password" 

@echo
    
por 25.02.2017 / 23:47
1

existem duas maneiras de fazer isso:

  1. insira sua senha em "" e execute o prompt de comando como

inicie C: \ software \ putty.exe -ssh nome_do_servidor -l user -pw "MyPassword $ 1"

OR

  1. Crie um arquivo Connection123.bat com o comando abaixo

inicie C: \ software \ putty.exe -ssh nome_do_servidor -l usuário -pw% 1

salve o arquivo e execute o arquivo em lote como

inicie c: \ Connection123.bat MyPassword $ 1

    
por 24.07.2017 / 10:52