Pages

Thursday, July 02, 2020

Ejecución scripts de ssh desde powershell


  • bash interpreta "\r" como un posible comando , de ahí el comportamiento que se muestra a continuación:


prueba.ps1:
write-host  "Normal:"
ssh  -o LogLevel=QUIET 10.241.167.42 "
ls /tmp/aa
"
write-host  "Sin \r:"
ssh  -o LogLevel=QUIET 10.241.167.42 (("
ls /tmp/aa
") -replace "`r")
Resultados:
Normal:
: command not found
ls: cannot access /tmp/aa: No such file or directory
: No such file or directory
Sin \r:
ls: cannot access /tmp/aa: No such file or directory


  • Los errores que escribe bash los recoge powershell de una forma un tanto extraña
prueba.ps1:

ssh  -o LogLevel=QUIET 10.241.167.42 (("
echo Antes de ls /tmp/aa
ls /tmp/aa
echo Despues de ls /tmp/aa
ls /tmp/kk
echo Despues de ls /tmp/kk
") -replace "`r")   


Resultados:

PS C:\> .\prueba.ps1
Sin \r:
Antes de ls /tmp/aa
ls: cannot access /tmp/aa: No such file or directory
Despues de ls /tmp/aa
Despues de ls /tmp/kk
ls: cannot access /tmp/kk: No such file or directory
PS C:\> $error[0]
PS C:\> $error[1]
PS C:\> $error[2]
PS C:\> vim .\prueba.ps1 # a 2>&1 al final de la última línea
PS C:\> .\prueba.ps1                                                                                       Sin \r:
Antes de ls /tmp/aa
Despues de ls /tmp/aa
Despues de ls /tmp/kk
ssh : ls: cannot access /tmp/aa: No such file or directory
En C:\prueba.ps1: 2 Carácter: 1
+ ssh  -o LogLevel=QUIET 10.241.167.42 (("
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (ls: cannot acce...le or directory:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
ls: cannot access /tmp/kk
: No such file or directory
PS C:\> $error[0]
: No such file or directory
PS C:\> $error[1]
ls: cannot access /tmp/kk
PS C:\> $error[2]
ssh : ls: cannot access /tmp/aa: No such file or directory
En C:\prueba.ps1: 2 Carácter: 1
+ ssh  -o LogLevel=QUIET 10.241.167.42 (("
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (ls: cannot acce...le or directory:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

PD: El editor de blogspot no me deja cambiar el tamaño del código a más grande por los medios "normales", no me complico , copiar y pegar ..
                                                                                          

2 comments:

  1. This is a topic that's near to my heart... Cheers! Exactly where are your contact details though?

    ReplyDelete
  2. Wow that was odd. I just wrote an really long comment but after I clicked submit my comment didn't show up. Grrrr... well I'm not writing all that over again. Regardless, just wanted to say superb blog!

    ReplyDelete