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
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?
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.
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.
O comando abaixo está funcionando para mim como está dentro de um arquivo bat.
"D: \ userdata \ panshriv \ Desktop \ putty.exe" "[email protected]" -pw "mypassword"
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
existem duas maneiras de fazer isso:
inicie C: \ software \ putty.exe -ssh nome_do_servidor -l user -pw "MyPassword $ 1"
OR
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
Tags ssh windows putty batch-file