Files
claudetools/test-ssh-via-cmd.ps1

29 lines
1.4 KiB
PowerShell

$password = ConvertTo-SecureString 'Paper123!@#' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential('INTRANET\sysadmin', $password)
Write-Host "Testing SSH via CMD instead of PowerShell..." -ForegroundColor Cyan
Write-Host ""
Invoke-Command -ComputerName 192.168.0.6 -Credential $cred -ScriptBlock {
Write-Host "[1] Testing SSH via cmd.exe..." -ForegroundColor Yellow
$cmdResult = cmd /c "echo | C:\Progra~1\OpenSSH\ssh.exe -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.0.9 hostname 2>&1"
Write-Host " Result: $cmdResult" -ForegroundColor White
Write-Host ""
Write-Host "[2] Checking if SSH is hanging on key auth..." -ForegroundColor Yellow
$cmdResult2 = cmd /c "echo | C:\Progra~1\OpenSSH\ssh.exe -o ConnectTimeout=5 -o StrictHostKeyChecking=no -o BatchMode=yes root@192.168.0.9 hostname 2>&1"
Write-Host " Result with BatchMode: $cmdResult2" -ForegroundColor White
Write-Host ""
Write-Host "[3] Killing any stuck SSH processes..." -ForegroundColor Yellow
$sshProcs = Get-Process -Name ssh -ErrorAction SilentlyContinue
if ($sshProcs) {
$sshProcs | ForEach-Object {
Write-Host " Killing SSH PID: $($_.Id)" -ForegroundColor Red
Stop-Process -Id $_.Id -Force
}
} else {
Write-Host " No SSH processes found" -ForegroundColor Green
}
}