Je veux transférer des fichiers entre deux serveurs Ubuntu à l’aide de scp, j’ai testé scp entre les deux systèmes et cela a fonctionné à merveille. télécharge les fichiers d'un autre hôte à l'aide de scp.
En cherchant en ligne, j'ai trouvé ceci Paramiko module et j’ai du mal à l’installer et j’ai rectifié le problème en utilisant le module cryptography
.Maintenant, le problème réel est expliqué avec le terminal ci-dessous.
>>> from paramiko import SSHClient
>>> from scp import SCPClient
>>> ssh = SSHClient()
>>> ssh
<paramiko.client.SSHClient object at 0x1a41c90>
>>> ssh.load_system_Host_keys()
>>> ssh.set_missing_Host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect('[email protected]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 296, in c onnect
to_try = list(self._families_and_addresses(hostname, port))
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 200, in _ families_and_addresses
addrinfos = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_S TREAM)
socket.gaierror: [Errno -2] Name or service not known
>>> ssh.connect('192.168.100.100')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 361, in c onnect
server_key)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 672, in m issing_Host_key
raise SSHException('Server %r not found in known_hosts' % hostname)
paramiko.ssh_exception.SSHException: Server '192.168.100.100' not found in known_hos ts
J'ai changé l'adresse IP et le nom d'utilisateur pour une utilisation en toute sécurité somename is replaced
, mais j'ai essayé avec original username
.Alors j'ai essayé cela plusieurs fois, mais j'obtiens toujours la même erreur.
Des suggestions sur ce problème? S'il vous plaît, aidez-nous.
Peut-être vous manque le missing_Host_key_policy
Qu'en est-il de celui-ci:
proxy = None
client = paramiko.SSHClient()
client.load_system_Host_keys()
client.set_missing_Host_key_policy(paramiko.AutoAddPolicy())
client.connect(Host['hostname'], username=Host['user'], sock=proxy)
plus d'exemples ici: www.programcreek.com
Essayez d'utiliser ceci:
ssh.connect ('hôte', nom d'utilisateur = 'nom d'utilisateur', mot de passe = 'mot de passe')
Vous pouvez également ajouter votre clé publique à des hôtes connus du serveur, si vous souhaitez ignorer le mot de passe et vous connecter sans donner votre mot de passe . Dans ce cas, utilisez:
ssh.connect ('Host', nom d'utilisateur = 'nom d'utilisateur')
Pour moi la solution était:
client = SSHClient()
client.load_system_Host_keys()
client.set_missing_Host_key_policy(AutoAddPolicy())
client.connect(Host, username=user,password=password)