我正在尝试使用以下命令将下载的文件 SCP 到:
scp -v agenadinik@slabrams-desktop:/home/agenadinik/Downloads/agraph-4.2-linuxamd64.64.tar.gz agenadin@uc3-dev:/udfr/agraph-4.2-linuxamd64.64.tar.gz
输出如下:
Executing: /usr/bin/ssh '-v' '-x' '-oClearAllForwardings yes' '-n' '-l' 'agenadinik' 'slabrams-desktop' 'scp -v' '/home/agenadinik/Downloads/agraph-4.2-linuxamd64.64.tar.gz' 'agenadin@uc3-dev:/udfr/agraph-4.2-linuxamd64.64.tar.gz'
OpenSSH_5.3p1 Debian-3ubuntu5, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to slabrams-desktop [127.0.1.1] port 22.
debug1: Connection established.
debug1: identity file /home/agenadinik/.ssh/identity type -1
debug1: identity file /home/agenadinik/.ssh/id_rsa type -1
debug1: identity file /home/agenadinik/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu5
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu5
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer
有什么想法为什么它不起作用吗?另外,我这样做的唯一原因是我不确定如何直接从 ssh 命令提示符下载该文件。有没有办法直接从 Putty 的 ssh 客户端的 shell 下载该文件?我在这里有什么选择?:)
感谢您!
答案1
我不确定 putty(Windows ssh 客户端)在哪里发挥作用...看起来您正在两个 Linux(ubuntu)服务器之间进行复制。
如果您直接登录到其中一台服务器,这样是否可行,这样您就不会在两台远程服务器之间进行远程复制?例如,而不是:
From:
Host: agenadinik@slabrams-desktop
File: /home/agenadinik/Downloads/agraph-4.2-linuxamd64.64.tar.gz
To:
Host: agenadin@uc3-dev
File: /udfr/agraph-4.2-linuxamd64.64.tar.gz
...首先登录 agenadinik@slabrams-desktop,然后运行:
cd /home/agenadinik/Downloads/
scp agraph-4.2-linuxamd64.64.tar.gz agenadin@uc3-dev:/udfr/
或者反之亦然;登录 agenadin@uc3-dev 并运行:
cd /udfr
scp agraph-4.2-linuxamd64.64.tar.gz agenadinik@slabrams-desktop:/home/agenadinik/Downloads/
以这种方式分解命令可能有助于调试和追踪权限/连接问题......
复印到一台 Windows 电脑从远程 Linux 服务器(从远程 Linux 机器执行复制 - 假设您在 Windows 上使用 Putty 通过 ssh 连接到远程 unix/linux 机器)将无法工作,除非您在 Windows 上运行 sshd 服务器(例如 cygwin sshd)。如果您有该服务器,那么您可以登录到远程 Linux 主机,并使用您的 Windows 主机名或 IP 地址(并且,它有助于避免 Windows 路径问题,只需复制到您的 Windows $HOME),
linux> scp file.tar.gz windows_user@windows_host:~/
...但通常人们不会在 Windows 上运行 sshd,而且设置起来也不那么简单。
编辑:只是为了澄清:复制到windows 上并在 windows 上运行 scp/sftp 命令(例如,使用 putty 的 psftp 或 pscp)很简单,因为它只远程登录到 linux 服务器并在本地复制文件。
答案2
答案3
如果无法使用 scp,而且传输应在 2 个 *nix 主机之间进行,则您可以始终通过 ssh cat 该文件。
服务器A:本地机器 服务器B:远程机器
在服务器A上执行: ssh serverB "cat /path/to/remote/file" > /path/to/local/file
这样,您命令 serverB 对远程文件进行 cat 操作,同时抓取其输出并将其放入本地文件中。