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

时间:2012-02-24 08:25:29

标签: linux unix ssh

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

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

4 个答案:

答案 0 :(得分:1166)

在终端中输入:

scp your_username@remotehost.edu:foobar.txt /local/dir

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

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

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

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

答案 1 :(得分:322)

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

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

scp username@hostname:/path/to/remote/file /path/to/local/file

将某些内容从此系统复制到其他系统:

scp /path/to/local/file username@hostname:/path/to/remote/file          

将某些内容从某个系统复制到其他系统:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

答案 2 :(得分:96)

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

$ ssh host 'cat /path/on/remote' > /path/on/local

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

注意,这是UUOC,但< /path/on/local ssh host 'cat > /path'可能导致不必要的混淆。

并在两台主机之间进行代理:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'

答案 3 :(得分:13)

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

CyberDuck支持所有这些。