使用PuTTY登录的会话中传输文件

blu*_*sky 62 sftp putty scp file-transfer

我使用PuTTY登录了远程主机.

将文件从本地计算机传输到我在PuTTY上登录的计算机的命令是什么?

Gui*_*ici 59

这可能不是您要求的直接答案,但是当我需要通过SSH会话传输文件时,我使用WinSCP,这是一个优于SCP或SFTP的文件传输程序.当然这假设你在Windows上.


小智 33

  • 单击开始菜单.
  • 点击运行
  • 在打开的框中,键入cmd,然后单击"确定"
  • 在命令提示符下,输入:

    c:> pscp source_file_name userid @ server_name:/ path/destination_file_name.

例如:

c:> pscp november2012 wrhse@warehouse.cit.cornell.edu:/ mydata/november2012.

  • 提交时,输入您的服务器密码.

请享用

  • 你可以像这样反转它:'c:> pscp wrhse@warehouse.cit.cornell.edu:/ mydata/november2012 11月2012'来接收来自远程机器的文件. (12认同)
  • pscp是putty包的一部分,但它不在我的路径上所以我需要在它工作之前将它添加到我的路径中.pscp应与putty exe位于同一位置.在我的情况下c:\ Program Files(x86)\ PuTTY. (2认同)

cor*_*iKa 14

PuTTY通常附带一个名为psftp的客户端,您可以将其用于此目的.我不相信你可以通过标准的PuTTY客户端做到这一点(虽然我可能被证明是错误的).

PuTTY只允许您操作远程计算机.它不提供两个文件系统之间的直接链接,只不过坐在远程机器上.

  • 它不需要.仅限本地计算机. (4认同)

小智 7

如果只有一个文件,可以使用以下程序(在putty中):

  1. vi filename.extension(在服务器上的活动文件夹中打开新文件名),
  2. 在腻子上复制 + 鼠标右键单击(复制和粘贴),
  3. 编辑并保存。=> vi 编辑器命令

使用下一个命令编辑文件权限:chmod u+x filename.extension


Mar*_*ryl 7

没有办法从PuTTY窗口中打开的SSH会话启动文件传输回本地Windows或从本地Windows传回.

虽然PuTTY支持连接共享.

虽然您仍然需要运行兼容的文件传输客户端(pscppsftp),但不需要新的登录,它会自动(如果启用)使用现有的PuTTY会话.

要启用共享,请参阅:
在PuTTY工具之间共享SSH连接.


另一种方法是使用WinSCP,一个GUI SFTP/SCP客户端.在浏览远程站点时,您可以随时使用" 在PuTTY中打开"按钮将SSH终端打开到同一站点.

请参阅在PuTTY中打开会话.

通过附加设置,您甚至可以使PuTTY自动导航到您使用WinSCP浏览的同一目录.

请参阅在同一目录中打开PuTTY.

(我是WinSCP的作者)


N1m*_*r0d 6

您也可以从下载psftp.exe:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html上

当你运行它时,你输入:

open "server name"
Run Code Online (Sandbox Code Playgroud)

然后:

put "file name"
Run Code Online (Sandbox Code Playgroud)

(键入help以获取完整的命令列表.)

您还可以键入get <file name>以将文件从远程计算机下载到本地计算机.


Jon*_*n B 5

既然您询问了 to/from,这里有一个适用于“from”部分的技巧。打开“更改设置...”屏幕、终端,然后在“将 ANSI 打印机输出发送到的打印机”下选择“通用/纯文本”

现在在远程系统上,在一行上运行:

tput mc5; cat whatever.txt; tput mc4
Run Code Online (Sandbox Code Playgroud)

Putty 会通知您文件已保存。这样做是将终端置于打印机模式 (tput mc5),将文件打印到屏幕 (cat),然后关闭打印机模式 (tput mc4)。如果您没有将所有命令放在一行上,屏幕将显示为冻结状态,因为 Putty 将所有终端输出保存到后台文件中。

如果您在一个没有 tput 命令(例如 qnap)的更有限的系统上,您可以尝试 printf "\x1b[5i" 而不是 tput mc5,并且 printf "\x1b[4i" 而不是 tput mc4 .

中间的命令只是打印到屏幕上的任何内容。因此,使用 tail -n 10000 blah.log 下载日志文件的最后 10k 行,或使用 base64 编码器将二进制文件映射到可以打印的内容(然后在本地系统上解码):

printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"
Run Code Online (Sandbox Code Playgroud)