Хорошо, вот пример с Python3 и Linux. Просто имейте в виду, что на вашем целевом хосте / сервере должен быть запущен сервер SSH, чтобы SSH работал на этом компьютере.
Также есть много других способов сделать это ... также можно использовать встроенный модуль сокета.
Я использую попытку / исключение для проверки соединения и возможен ли SSH к данному хосту. Также имейте в виду, что если ваш IP-адрес или имя пользователя / пароль неверны, исключение также будет обнаружено.
Вот один из способов пинговать хост:
>>> from subprocess import Popen, PIPE
>>> cmd = ['ping', '-c', '5', '192.168.0.13']
>>> x = Popen(cmd, stdout=PIPE).communicate()[0]
>>> x
b'PING 192.168.0.13 (192.168.0.13) 56(84) bytes of data.\n64 bytes from 192.168.0.13: icmp_seq=1 ttl=64 time=0.035 ms\n64 bytes from 192.168.0.13: icmp_seq=2 ttl=64 time=0.033 ms\n64 bytes from 192.168.0.13: icmp_seq=3 ttl=64 time=0.029 ms\n64 bytes from 192.168.0.13: icmp_seq=4 ttl=64 time=0.028 ms\n64 bytes from 192.168.0.13: icmp_seq=5 ttl=64 time=0.030 ms\n\n--- 192.168.0.13 ping statistics ---\n5 packets transmitted, 5 received, 0% packet loss, time 4091ms\nrtt min/avg/max/mdev = 0.028/0.031/0.035/0.002 ms\n'
А вот пример SSH с Paramiko (да, порт должен быть целым):
import paramiko
import sys
username = ''
password = ''
command = 'ls -l'
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect("192.168.0.13", 22, username, password)
except Exception as e:
print("unable to SSH: %s" % e)
sys.exit()
stdin, stdout, stderr = ssh.exec_command(command)
output = stdin.read()
ssh.close()
print(output)