如何使用SSH从服务器下载文件?

NiL*_*iLL 750 unix linux ssh

我需要从服务器下载文件到我的桌面.(UBUNTU 10.04)我没有对服务器的Web访问权限,只有ssh.

如果有帮助,我的操作系统是Mac OS X和iTerm 2作为终端.

Jos*_*ion 1166

在您的终端中,键入:

scp your_username@remotehost.edu:foobar.txt /local/dir
Run Code Online (Sandbox Code Playgroud)

根据需要替换用户名,主机,远程文件名和本地目录.

如果要访问EC2(或其他需要使用私钥进行身份验证的服务),请使用以下-i选项:

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir
Run Code Online (Sandbox Code Playgroud)

来自:http://www.hypexr.org/linux_scp_help.php

  • @NiLL scp -i xxx.pem your_username@remotehost.edu:foobar.txt/some/local/directory (13认同)
  • 有用的信息 - 我没有意识到你从本地机器运行它,而不是从你想要下载的地方运行.正如Horak所要求的那样,〜/会将它转储到您的用户目录中,例如/ Users/admin/ - 我远程登录ssh并想知道它为什么不起作用. (10认同)
  • 我不熟悉Amazon EC2,但如果你有SSH访问你的服务器,它应该工作. (3认同)
  • 我认为在上面的例子中,`your_username@remotehost.edu:`和`foobar.txt`之间缺少`/`. (3认同)
  • @Alex添加-r选项. (3认同)
  • 添加`-P port`选项以连接到特定端口(半小时,意识到它不是`-p` (3认同)

raj*_*gt1 322

您可以使用该scp命令执行此操作.scp使用SSH协议通过扩展语法来跨系统复制文件cp.

将其他系统中的内容复制到此系统:

scp username@hostname:/path/to/remote/file /path/to/local/file
Run Code Online (Sandbox Code Playgroud)

将此系统中的内容复制到其他系统:

scp /path/to/local/file username@hostname:/path/to/remote/file          
Run Code Online (Sandbox Code Playgroud)

将某些东西从某个系统复制到其他系统:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   
Run Code Online (Sandbox Code Playgroud)

  • 我怎么样,如果有人想实现有机磷农药的问题,并没有完全阅读你的答案,他们可能意外和不加思考,只需运行你的第一个命令,并可能覆盖他们正试图与他们可能前面已经提到的本地文件下载远程文件.哎呀. (5认同)
  • @MrPurple - 感谢您的警告,我几乎就是这么做的.我已经编辑了这个问题,以便首先显示最相关的命令 (2认同)

Wil*_*ell 96

scp肯定是要走的路,但为了完整起见,你也可以这样做:

$ ssh host 'cat /path/on/remote' > /path/on/local
Run Code Online (Sandbox Code Playgroud)

要么

$ cat /path/on/local | ssh host 'cat > /path/on/remote'
Run Code Online (Sandbox Code Playgroud)

注意,这是UUOC,但< /path/on/local ssh host 'cat > /path'可能会造成不必要的混淆.

并在两台主机之间代理:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'
Run Code Online (Sandbox Code Playgroud)

  • 有人对不同的方法进行过速度测试吗?我很想知道哪一个最快.使用案例:我有一个巨大的文件要下载. (5认同)
  • http://winscp.net/eng/download.php (2认同)

J-1*_*DiZ 13

如果SSH服务器支持SFTP子系统(这是SSH的一部分, FTP 无关),请使用sftp.如果没有,请尝试scp.

Cyber​​Duck支持所有这些.

  • 这不回答这个问题. (12认同)
  • 从他们的网站http://cyberduck.ch/Cyber​​duck-4.2.1.zip下载 (2认同)