【问题标题】:could not resolve hostname with scp无法使用 scp 解析主机名
【发布时间】:2014-02-25 16:02:46
【问题描述】:

我正在我的 windows 机器上使用 putty 通过 ssh 访问 ubuntu 服务器,并尝试将单个文件下载到我的本地 windows 机器

我的 Windows 用户名是 Mark,我每个 cmd 的主机名是 Marks 我正在远程服务器上尝试以下命令

scp backup.sql mark@marks:desktop

我无法解析主机名,我尝试输入我认为的 myip 地址并且连接超时

【问题讨论】:

  • 不清楚 - 您的源文件应该放在第一位,并且需要包含您的 ubuntu 服务器的主机名或 IP 地址
  • 即使我是从服务器发出命令?
  • 如果您在服务器上,那么是的,但您的问题表明您正在使用 Windows 机器上的 putty 访问它。我认为您应该编辑此问题以明确说明您在做什么以及您想要什么
  • 我认为通过 ssh 发出命令与在服务器上发出命令是一样的,显然我错了。我的问题的第一行正是我想要做的
  • 我遇到了类似的问题,但the solution was 在文件名之前添加了./

标签: scp


【解决方案1】:

语法是这样的,相对于你发出命令的位置:

scp user@host_from:location/file user@host_to:location/file

当然,如果你是本地人,你可以省略 user@host 前缀:

scp local_file me@host_to:~/local_file

相对于您发出命令的位置,方向始终是 >

【讨论】:

  • 好的,通过 ssh 连接到服务器意味着我是本地人,因此可以使用第二种语法吗?
  • 如果您将某些内容从服务器传输到本地计算机,您通常无法将文件“推送”给自己,例如,如果您通过 Internet 连接并且不'没有设置入站连接。因此,您只需“拉”文件。因此,例如从我家的本地机器连接到 Internet 上的服务器,从我的家用机器我会使用 scp myid@remote_server:/original_file ~/new_file
  • 感谢您的语法,我确信它是正确的,但连接一直超时,所以我按照上面的建议下载了 winscp,它立即工作
  • winscp 只是这些东西的 GUI,所以可能某处有错字。也就是说,如果 winscp 有效,那么命令行中的 SCP 也会有效。
【解决方案2】:

binarysubstrate 的语法是正确的。问题是,如果 OP 将他的 windows 客户端的名称(或地址)放在 scp 命令的“to”部分,它可能由于多种原因无法工作:

  1. 他的 windows 机器可能没有可解析的 FQDN,
  2. 他的 Windows 机器可能位于未设置为端口转发 SSH 请求的 NAT 防火墙后面,
  3. 他可能没有在他的 Windows 机器上运行 SSH 守护程序。

要简单地将文件从远程服务器复制到 Windows 客户端,我推荐WinSCP

【讨论】:

  • 由于您指定的原因,您不会将家用计算机用作目标参数。只需将远程服务器指定为“from”参数: scp my_id@remote_server:/orig_file /new_file
  • binarysubstitute,他提到他是从 Windows 机器上执行此操作的。除了 Cygwin,我不知道 Windows 的 scp 命令行版本。除了 Cygwin 之外,您还知道吗?
  • 是的,实际上有一个SCP PuTTY 客户端。虽然我不得不说我更喜欢 Cygwin,它在所有方面都非常好。
【解决方案3】:

从您ping您的机器名称的服务器?尝试将机器名称替换为 IP 地址,或将您的机器名称添加到服务器的主机配置文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多