Выполнить ssh с аутентификацией пароля с помощью командной строки Windows

Мне нужно выполнить ssh из командной строки Windows, предоставив пароль не интерактивным способом. Я мог бы реализовать аутентификацию на основе ключа и мог бы выполнять команды ssh, как

ssh <user>@<host> <command>

Есть ли какие-либо команды типа

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

введите описание изображения здесь

Я не знаю, возможно ли это. Тем не менее, для этого может быть определенная работа. Бросьте мне некоторые идеи, чтобы сделать то же самое.

Ответ 2

Утилита sshpass предназначена именно для этого. Сначала установите sshpass, набрав следующую команду:

sudo apt-get install sshpass

Затем добавьте команду ssh/scp с помощью

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

Эта программа проще всего установить при использовании Linux.

Пользователь должен использовать вместо SSH более безопасную аутентификацию открытого ключа (с помощью команды ssh).

Ответ 3

Как насчет этого ожидать script?

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

Ответ 4

Windows Solution

  1. Установите PuTTY
  2. Нажмите Windows-Key + R
  3. Введите putty.exe -ssh [username]@[hostname] -pw [password]

Ответ 5

Решение 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

Ответ 6

просто так:

putty.exe <user>@<host> -P <port> -Pw <password>