Powershell SSH 凭据

问题描述 投票:0回答:1

我有一个用于在多台计算机上自动执行命令的脚本,但当我尝试强制用户输入凭据时出现一个问题:

Write-Host "Enter credentials!" -ForegroundColor Green

$user1 = Read-Host "user"
$pwd1 = Read-Host "pass" -AsSecureString

Write-Host "type command" -ForegroundColor Cyan  
Write-Host "--------------" -ForegroundColor Cyan
Write-Host "example: shutdown -f -r -t 0" -ForegroundColor Cyan
$Command1 = Read-Host -Prompt "Comanda"

$Computers = Get-Content -Path C:\Users\Meo\Desktop\ipMachine.txt | Where-Object { $_ -match '\S' }

foreach($Computer in $Computers){
Write-Host $Computer

    $User = "$user1"
    $pwd1_text = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd1))
    $secpasswd = ConvertTo-SecureString $pwd1 -AsPlainText -Force
    $Credentials = New-Object System.Management.Automation.PSCredential ($User, $secpasswd)

    $Command1 = "$Command"
    Write-Host $Command

Get-SSHTrustedHost | Remove-SSHTrustedHost

$SessionID = New-SSHSession -ComputerName $Computer -Credential $Credentials -AcceptKey:$true

Invoke-SSHCommand -Index $sessionid.sessionid -Command $Command
}

返回(如果我将凭据放入脚本中,它会很好地工作..有什么想法吗?谢谢)

New-SSHSession : Permission denied (keyboard-interactive).
At line:26 char:14
+ ... SessionID = New-SSHSession -ComputerName $Computer -Credential $Crede ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (Renci.SshNet.SshClient:SshClient) [New-SSHSession], SshAuthenticationException
    + FullyQualifiedErrorId : SSH.NewSshSession
 
Invoke-SSHCommand : Cannot bind argument to parameter 'SessionId' because it is null.
At line:28 char:26
+ Invoke-SSHCommand -Index $sessionid.sessionid -Command $Command
+                          ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Invoke-SSHCommand], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Invoke-SSHCommand
    ```
powershell ssh command
1个回答
0
投票

我今天也遇到了这个问题,我知道这是关于主机密钥验证的问题,但我无法弄清楚,所以我的temproray解决方案是使用-Force

© www.soinside.com 2019 - 2024. All rights reserved.