SSH 检查连接

时间:2021-04-06 09:05:15

标签: powershell ssh

我想检查机器是否安装了 SSH。 所以,我有这个脚本:

我希望脚本尝试连接到机器上并像这样制作 .txt 'log':

10.10.10.1 - Connection refused (machines not have SSH or is down)
10.10.10.2 - Connection OK
...
$db = Get-Content -Path ".\hosts.txt"

    $User = "user"
    $Password = "pass"

    $secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
    $Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)

Get-SSHTrustedHost | Remove-SSHTrustedHost

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

在 hosts.txt 我有机器的 hostip 例如:

10.10.10.1
10.10.10.2
10.10.10.3
...

1 个答案:

答案 0 :(得分:0)

有什么想法吗?

$LogFile = ".\LogMachines.txt"

function LogMessage
{
    param([string]$Message)
    
    ((Get-Date).ToString() + " - " + $Message) >> $LogFile;
}
 
$db = Get-Content -Path ".\hosts.txt"

    $User = "user"
    $Password = "pass"

    $secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
    $Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)

Get-SSHTrustedHost | Remove-SSHTrustedHost

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

LogMessage -Message "$db connected - OK";
LogMessage -Message "$db failed to connect - X";

相关问题