mog*_*gya 5 linux scp openssh sftp
正如 OpenSSH 人所说的“scp 协议已经过时”,是时候考虑后 scp 时代了。
不过sftp好像是为了交互操作而设计的。有没有sftp像这样使用命令的好方法scp?意味着,如何做到这一点sftp?
scp ./myfile myserver:/home/myfile
Run Code Online (Sandbox Code Playgroud)
或者,有什么好的scp继任者?
sftp命令确实是围绕命令构建的(如ftp)。所以它不能作为scp.
虽然您可以使用单线,如:
echo get /remote/path/file.txt /local/path.txt | sftp user@example.com
Run Code Online (Sandbox Code Playgroud)
或者
echo put /local/path.txt /remote/path/file.txt | sftp user@example.com
Run Code Online (Sandbox Code Playgroud)
您可能希望添加-b -强制非交互模式。
有趣的是(正如@Kamil 提到的),对于下载,您还可以使用这种scp类似语法:
sftp user@example.com:/remote/path/file.txt /local/path.txt
Run Code Online (Sandbox Code Playgroud)
(第二个参数的使用没有记录)。
sftp://自 OpenSSH 7.7 起,也可以使用前缀,这在一定程度上修改了语法(允许对用户名和路径进行 URL 编码)。
OpenSSH 的未来版本scp将通过参数支持 SFTP 协议-M sftp。
PuTTY 包中还有免费/开源pscp命令行客户端,可用于 Linux(但在 Windows 上更常用)。它具有与OpenSSH相同的命令行界面scp。但与其名称相反scp,它主要是SFTP客户端(如果服务器不支持 SFTP,它可以回退到 SCP)。
尽管它的名字,PSCP(像许多其他表面上的 scp 客户端一样)可以使用这些协议中的任何一个。
...
通常 PSCP 会尝试使用 SFTP 协议,并且只有在服务器上没有 SFTP 时才会回退到 SCP 协议。
您可以使用以下命令安装 PuTTY/pscp apt-get:
sudo apt-get install -y putty
Run Code Online (Sandbox Code Playgroud)
Stack Overflow 上也有类似的问题: Single line sftp from terminal
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |