SSH Windows和Linux远程传输文件

SSH Windows和Linux远程传输文件

环境

Win10
Windows PowerShell

实现代码

@echo off
set upload=upload
set download=download
if %1 == %upload% (
    echo uploading
    scp -i <secret key path> %2 <username>@<ip address>:%3
    echo uploaded successfully
    echo save path : %3

) else (
    if %1 == %download% (
        echo downloading
        scp -i <secret key path> <username>@<ip address>:%2 %3
        echo downloaded successfully
        echo save path : %3
    ) else (
        echo input error!
    )
)

其中,<>包围的字段为需要修改的项目

  • 密钥文件
    <secret key path>是云服务器密钥保存的路径,例如C:/Users/User1/.ssh/secret.pem
    密钥获取方式可以参见云服务器提供商提供的开发者文档
  • 用户名
    <username>为用户名,阿里云服务器默认的用户名为root
  • IP地址
    <ip addresss>,为云服务器的公网IP,可以到控制台获取
  • 命令行参数
    %0 为当前路径
    %1 为第一个参数,选择上传或下载
    %2 为第二个参数,上传文件的源路径或下载文件的源路径
    %3 为第三个参数,上传文件的目标(保存)路径或下载文件的目标(保存)路径

测试

上传

  • 从本地上传到远程云服务器
.\scp.bat "upload" .\scp.txt /home
  • 结果
uploading
scp.txt                                                                               100%    0     0.0KB/s   00:00
uploaded successfully
save path : /home

下载

  • 从远程云服务器下载到本地
./scp.bat "download" /home/scp .\
  • 结果
downloading
scp.txt                                                                               100%    0     0.0KB/s   00:00
downloaded successfully
save path : .\

最后

  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!

猜你喜欢

转载自blog.csdn.net/qq_44486439/article/details/108190575