前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >免密码从windows复制文件到linux

免密码从windows复制文件到linux

作者头像
张子阳
发布2018-09-28 14:41:37
5.1K0
发布2018-09-28 14:41:37
举报

免密码从windows复制文件到linux

2018-7-25 作者: 张子阳 分类: Linux

有时候,我们需要使用编码的方式将文件从Windows系统发送到Linux系统上,这篇文章将记录如何实现这一过程。

一个实际的例子是:现有的程序运行在Windows服务器上,需要将一些文件传输到运行在Linux的Hive数据仓库中。也许有更好的方案可以直接传给Hive,但一种间接的方案是先把文件发到Linux上,然后在Linux上使用load data读入到Hive中。

下载并安装putty

Putty不仅可以作为连接linux系统的客户端,也提供了一个叫做pscp.exe的工具,用于将文件从windows直接拷贝至Linux系统。如果没有安装putty,先前往putty官网下载并安装:https://www.putty.org

使用pscp传输文件

在Windows系统上,Putty的默认安装目录位于:C:\Program Files\PuTTY。打开cmd命令行工具,使用cd命令,进入到该目录下。然后,在D盘根目录创建一个hello.txt文件,尝试将该文件发送至 linux上的 /root/downloads文件夹下。

C:\Program Files\PuTTY>pscp D:\hello.txt root@192.168.1.56:/root/downloads root@192.168.1.56's password: hello.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%

因为还没有配置授权密钥,所以此时仍需要输入密码,这个密码输入是没有回显的,正确输入root密码后,可以看到传输已经成功了。

生成客户端密钥

其实使用pscp传文件的认证模式和ssh是一致的,建议先看下这篇文章:linux上配置ssh实现免密登录

现在使用Putty自带的另一个工具,puttygen,来生成密钥对。该工具也位于C:\Program Files\PuTTY文件夹下。

运行pscp

选择RSA,然后点击Generate。接下来晃动鼠标,以鼠标位置作为随机数来来生成Key。

生成密钥

保存私钥

在对话框中点击“save private key”,命名为key.ppk,并保存至D:\根目录下。

保存私钥

复制公钥

复制公钥

复制对话框上面文本框的公钥,然后执行下面的语句,将公钥加至Linux系统的authorized_keys文件中:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAkOCtqdeNszoEszhJvO9WMBsydQ12GQMsMtjD/VBgWl8JilwanfMrjH55SA3YBuw9Dtmy+epMl9fcuoCOMFbYq3sxmKHwft2x9m+g0chPDioeL9Mgscrx+1hbJQokVbS7xnWc2uKrTYcMvs+x2KsFoT5YTEdCbRGXhaTWt0e1y3gUNyNH1AbWlH1m9Rwvg8BICuNcqP/Qd5NtktOoFzO3EBSrKdUrNuIiQX3eYJ62d3nomKmjPr6/Bcx47VqQK+b7eU1Ywmz7SGow9FZpBOPxVJiA6GC87eksH4wxXhGB2cp+d88t29az5f+vsbDbsSGCSHxrbkKtolFBnONQNpUqKw== rsa-key-20180725" >> ~/.ssh/authorized_keys

再次复制文件

再次执行pscp,使用-i标记指定刚才生成的私钥位置,就可以成功复制文件到linux系统了。

C:\Program Files\PuTTY>pscp -i D:\key.ppk D:\hello.txt root@192.168.1.56:/root/downloads hello.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%

这样,通过命令行发送文件到linux就成功了,接下来当需要使用编程的方式来发送时。可以启动一个cmd命令行进程,再将上面的语句发送过去执行就可以了。

感谢阅读,希望这篇文章能给你带来帮助!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-7-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 免密码从windows复制文件到linux
    • 下载并安装putty
      • 使用pscp传输文件
        • 生成客户端密钥
          • 保存私钥
            • 复制公钥
            • echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAkOCtqdeNszoEszhJvO9WMBsydQ12GQMsMtjD/VBgWl8JilwanfMrjH55SA3YBuw9Dtmy+epMl9fcuoCOMFbYq3sxmKHwft2x9m+g0chPDioeL9Mgscrx+1hbJQokVbS7xnWc2uKrTYcMvs+x2KsFoT5YTEdCbRGXhaTWt0e1y3gUNyNH1AbWlH1m9Rwvg8BICuNcqP/Qd5NtktOoFzO3EBSrKdUrNuIiQX3eYJ62d3nomKmjPr6/Bcx47VqQK+b7eU1Ywmz7SGow9FZpBOPxVJiA6GC87eksH4wxXhGB2cp+d88t29az5f+vsbDbsSGCSHxrbkKtolFBnONQNpUqKw== rsa-key-20180725" >> ~/.ssh/authorized_keys
              • 再次复制文件
              相关产品与服务
              命令行工具
              腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档