我已使用PuTTY登录到远程主机。
将文件从本地计算机传输到我在PuTTY上登录的计算机的命令是什么?
Answers:
这可能不是您所要询问的直接答案,但是当我需要通过SSH会话传输文件时,我使用WinSCP,这是一种出色的基于SCP或SFTP的文件传输程序。当然,这假定您使用Windows。
sudo
在WinSCP中进行制作,请参见常见问题解答登录后如何更改用户(例如su root)?
c:> pscp源文件名userid @服务器名:/ path /目标文件名。
c:> pscp november2012 wrhse@warehouse.cit.cornell.edu:/ mydata / november2012。
请享用
sudo su - user
PuTTY通常带有一个称为psftp的客户端,您可以利用它来实现此目的。我不相信您可以通过标准的PuTTY客户端来做到这一点(尽管我可能会被证明是错误的)。
PuTTY仅允许您访问操作远程计算机。它没有像坐在远程计算机上那样提供两个文件系统之间的直接链接。
无法从PuTTY窗口中打开的SSH会话启动向本地Windows传回文件或从本地Windows传回文件的方法。
尽管PuTTY支持连接共享。
尽管您仍然需要运行兼容的文件传输客户端(pscp
或psftp
),但不需要新的登录名,它会自动(如果启用)利用现有的PuTTY会话。
要启用共享,请参阅:
在PuTTY工具之间共享SSH连接。
另一种方法是使用WinSCP(GUI SFTP / SCP客户端)。浏览远程站点时,您可以随时使用“在PuTTY中打开”按钮将SSH终端打开到同一站点。
请参阅PuTTY中的开幕式。
通过其他设置,您甚至可以使PuTTY自动导航到使用WinSCP浏览的目录。
请参阅在同一目录中打开PuTTY。
(我是WinSCP的作者)
您也可以从以下位置下载psftp.exe:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
运行它时,键入:
open "server name"
然后:
put "file name"
(键入help以获得完整的命令列表。)
您也可以键入get <file name>
将文件从远程计算机下载到本地计算机。
既然您询问了to / from,这是一个适用于“ from”部分的技巧。打开“更改设置...”屏幕,在终端上,然后在“打印机将ANSI打印机输出发送到:”下,选择“常规/纯文本”
现在在远程系统上,在一行上运行此命令:
tput mc5; cat whatever.txt; tput mc4
腻子将通知您文件已保存。这样做是使终端进入打印机模式(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"
如果必须进行私钥验证;在命令提示符(cmd)上运行
第一;
set PATH=C:\PuttySetupLocation
第二;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
另外,如果您需要其他选项,请查看以下链接。https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html
set PATH=C:\PuttySetupLocation
?你为什么不C:\PuttySetupLocation\pscp
直接做?-即使您要修改PATH
,也应该添加新路径,而不是完全重置。
看这里:
它建议pscp.exe
从PuTTY使用,可以在以下位置找到:https : //www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
像FTP这样的直接传输是不可能的,因为会话期间的所有命令都将发送到服务器。
使用腻子传输文件(pscp / plink.exe)
默认的腻子安装提供了多种传输文件的方式。最有可能putty
在您的默认路径上,因此您可以直接putty
从命令提示符下调用
。如果没有,您可能必须更改环境变量。请参阅此处的说明:https :
//it.cornell.edu/managed-servers/transfer-files-using-putt
脚步
通过键入打开命令提示符 cmd
要将文件夹从Windows计算机传输到另一台Windows计算机,请
使用(请注意该-r
标志,该标志表示文件将以递归方式传输,无需压缩它们):
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
要将文件从Windows计算机传输到另一台Windows计算机,请
使用:
pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
有时,您可能只plink
安装了。plink
可以潜在地用于传输文件,但最好仅限于简单的文本文件。二进制文件可能具有未知行为(/superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo):
plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"
要将文件从Linux服务器传输到Windows计算机再传输到Linux计算机,请使用
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username
对于所有这些工作,您需要具有正确的公用/专用密钥。要生成腻子,请参阅:https : //superuser.com/a/1285789/658319