我使用PuTTY登录到远程主机。
如何将本地计算机上的文件传输到我在PuTTY中登录的主机?
我使用PuTTY登录到远程主机。
如何将本地计算机上的文件传输到我在PuTTY中登录的主机?
也许这不是你所问的直接答案,但当我需要在 SSH 会话中传输文件时,我使用WinSCP,它是一个优秀的 SCP 或 SFTP 文件传输程序。当然,这假定你正在使用 Windows 操作系统。
c:>pscp 源文件名 userid@服务器名:/路径/目标文件名。
c:>pscp november2012 wrhse@warehouse.cit.cornell.edu:/mydata/november2012。
完成。
pscp
与 ssh-keygen
结合起来,以绕过密码?提前感谢。 - Bilal通常情况下,PuTTY自带一个名为psftp的客户端,您可以利用它来完成这个目的。我不认为您可以通过标准的PuTTY客户端来做到这一点(虽然我可能会在这方面被证明是错误的)。
PuTTY仅提供访问远程机器的功能,并没有像坐在远程机器前一样直接链接两个文件系统的功能。
您也可以从以下网址下载psftp.exe:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
当您运行它时,输入:
open "server name"
那么:
put "file name"
(输入 help 以获取所有命令的完整列表。)
您还可以输入 get <文件名>
从远程机器下载文件到本地机器。
在PuTTY窗口中打开的SSH会话中,无法启动文件传输以与本地Windows进行交互。
虽然PuTTY支持连接共享。
尽管仍需要运行兼容的文件传输客户端(pscp
或psftp
),但无需新登录,它会自动(如果启用)利用现有的PuTTY会话。
要启用共享,请参见:
在PuTTY工具之间共享SSH连接。
另一种方法是使用WinSCP,这是一个GUI SFTP / SCP客户端。当您浏览远程站点时,您可以随时使用Open in PuTTY按钮打开相同站点的SSH终端。
请参阅在PuTTY中打开会话。
通过额外的设置,您甚至可以让PuTTY自动导航到与WinSCP浏览的相同目录。
请参阅在相同目录中打开PuTTY。
(我是WinSCP的作者)
既然你问到“to/from”的问题,这里有一个技巧可以帮助你处理“from”部分。打开“更改设置...”屏幕,找到终端,在“要将ANSI打印机输出发送到的打印机:”下选择“通用/纯文本”。
现在,在远程系统上,在一行中运行以下命令:
tput mc5; cat whatever.txt; tput mc4
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"
使用下一个命令编辑文件权限:chmod u+x 文件名.扩展名
首先;
set PATH=C:\PuttySetupLocation
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
set PATH=C:\PuttySetupLocation
的意义是什么?为什么不直接使用 C:\PuttySetupLocation\pscp
?即使您想修改 PATH
,也应该添加新路径,而不是完全重置它。 - Martin Prikryl看这里:
它建议使用PuTTY中的pscp.exe
,可以在此处找到:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
直接传输类似FTP的方式不可行,因为您会话期间发送到服务器的所有命令。使用Putty(pscp/plink.exe)传输文件
默认的Putty安装提供了多种传输文件的方式。
很可能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
可能用于传输文件,但最好仅限于简单文本文件。 它可能具有二进制文件的未知行为(https://superuser.com/questions/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
sudo
,请参阅常见问题解答如何在登录后更改用户(例如su root)? - Martin Prikryl