通过 SCP 连接到具有 SSH 权限的服务器

通过 SCP 连接到具有 SSH 权限的服务器

我正在尝试使用以下命令将下载的文件 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

PuTTY 有一个 SCP 客户端和一个 SFTP 客户端,均在下载页面。或者你可以抓住档案

至于问题,可以slabrams-desktop解决uc3-dev吗?反之亦然?它们可以互相连接吗?

答案3

如果无法使用 scp,而且传输应在 2 个 *nix 主机之间进行,则您可以始终通过 ssh cat 该文件。

服务器A:本地机器 服务器B:远程机器

在服务器A上执行: ssh serverB "cat /path/to/remote/file" > /path/to/local/file

这样,您命令 serverB 对远程文件进行 cat 操作,同时抓取其输出并将其放入本地文件中。

相关内容