it-swarm-eu.dev

Spusťte ssh s ověřením hesla pomocí příkazového řádku systému Windows

Potřebuji provést ssh z příkazového řádku Windows zadáním hesla neinteraktivním způsobem. Mohl bych implementovat autentizaci založenou na klíči a dokázat provést příkazy ssh stejně jako 

ssh <user>@<Host> <command>

Existují nějaké příkazy 

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

 enter image description here

Nevím, jestli je to možné. Nicméně, tam může být nějaká práce kolem pro stejné. Hodit mi nějaké nápady, jak toho dosáhnout. 

83
Balachandar

PlTink PuTTY má argument příkazového řádku pro heslo . Některé další návrhy byly vytvořeny v odpovědi na tuto otázku : pomocí Expect (který je k dispozici pro Windows), nebo napsáním launcheru v Pythonu s Paramiko.

11
Greg Inozemtsev

Nástroj sshpass je určen právě pro tento účel. Nejprve nainstalujte sshpass zadáním tohoto příkazu:

Sudo apt-get install sshpass

Potom předejte svůj příkaz ssh/scp příkazem

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

Tento program je nejjednodušší nainstalovat při použití Linuxu.

Uživatel by měl místo toho zvážit použití bezpečnějšího ověřování veřejného klíče SSH (s příkazem ssh).

160
Anish Bhatt

A co tento scénář očekávání?

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

Windows Řešení

  1. Instalovat PuTTY
  2. Stiskněte Windows-Key + R 
  3. Zadejte PuTTY.exe -ssh [username]@[hostname] -pw [password]
0
optimiertes

Řešení PowerShell

Použití 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
0
Owain Esau