Ответ 1
PuTTY plink имеет аргумент командной строки для пароля. Некоторые другие предложения были сделаны в ответах на этот вопрос: использование Expect (доступно для Windows) или запись пусковой установки в Python с помощью Paramiko.
Мне нужно выполнить ssh из командной строки Windows, предоставив пароль не интерактивным способом. Я мог бы реализовать аутентификацию на основе ключа и мог бы выполнять команды ssh, как
ssh <user>@<host> <command>
Есть ли какие-либо команды типа
ssh <user>@<host> -P <password> <command>
Я не знаю, возможно ли это. Тем не менее, для этого может быть определенная работа. Бросьте мне некоторые идеи, чтобы сделать то же самое.
PuTTY plink имеет аргумент командной строки для пароля. Некоторые другие предложения были сделаны в ответах на этот вопрос: использование Expect (доступно для Windows) или запись пусковой установки в Python с помощью Paramiko.
Утилита sshpass предназначена именно для этого. Сначала установите sshpass, набрав следующую команду:
sudo apt-get install sshpass
Затем добавьте команду ssh/scp с помощью
sshpass -p '<password>' <ssh/scp command>
Эта программа проще всего установить при использовании Linux.
Пользователь должен использовать вместо SSH более безопасную аутентификацию открытого ключа (с помощью команды ssh
).
Как насчет этого ожидать script?
#!/usr/bin/expect -f
spawn ssh [email protected]
expect -exact "[email protected] password: "
send -- "mypassword\r"
interact
Windows Solution
Windows-Key + R
putty.exe -ssh [username]@[hostname] -pw [password]
Решение 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
просто так:
putty.exe <user>@<host> -P <port> -Pw <password>