【问题标题】:Python Move a File from Remote Machine to LocalPython将文件从远程机器移动到本地
【发布时间】:2017-10-23 02:56:22
【问题描述】:

我是 python 新手,正在尝试不同的东西。

目前正在尝试将文本文件 to_copy.txt 从具有本地 ip 192.168.1.101 的远程计算机复制到我当前的计算机。

我在谷歌上搜索的方法似乎不起作用。

import paramiko
from scp import SCPClient

ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("testme@192.168.1.101", password="look420")
print("Connected")
scp = SCPClient(ssh.get_transport())
scp.get("/home/testme/target_folder/to_copy.txt")
scp.close()

但是,当我运行它时,我得到了错误;

Traceback (most recent call last):
  File "/home/uc/Python_Projects/MoveFileAndFolder/move_remote.py", line 7, in <module>
    ssh.connect("testme@192.168.1.101", password="look420")
  File "/usr/local/lib/python3.4/dist-packages/paramiko/client.py", line 296, in connect
    to_try = list(self._families_and_addresses(hostname, port))
  File "/usr/local/lib/python3.4/dist-packages/paramiko/client.py", line 200, in _families_and_addresses
    addrinfos = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
  File "/usr/lib/python3.4/socket.py", line 530, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

我在这里做错了什么?

注意:当前机器运行Debian Jessie,远程机器运行Ubuntu 14.04.4 LTS

【问题讨论】:

  • 试试ssh.connect("192.168.1.101", username="testme", password="look420")
  • 哇!好用!!谢谢!!!

标签: python python-3.x ssh paramiko


【解决方案1】:

你试过了吗

ssh.connect("192.168.1.101", username="testme", password="look420")

请参考Doc

【讨论】:

【解决方案2】:

远程计算机上的 scp (22) 端口可能未打开。请通过命令行调用确认您确实可以建立 ssh 或 scp 连接。

更多详情请看这里

https://help.ubuntu.com/community/SSH/TransferFiles

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多