专栏首页分布式系统和大数据处理免密码从windows复制文件到linux

免密码从windows复制文件到linux

免密码从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命令行进程,再将上面的语句发送过去执行就可以了。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 正则表达式教程

    张子阳
  • 这才是最好的数学书(上)

    看了《穷查理宝典》,更了解到跨学科学习的重要性,对于书中提到的主要的几个学科:数学、会计学、心理学和微观经济学,以前大多只是零零散散地学习过。对于不怎么感兴趣的...

    张子阳
  • 用户体验要素:以用户为中心的产品设计

    这本书是产品经理的入门书。全书分为了4部分共8章,第1部分介绍什么是用户体验,与产品设计有何不同。第2部分以网站为例,将产品设计划分为5层,然后概要描述了每个层...

    张子阳
  • SCP和Rsync远程拷贝的几个技巧

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加...

    洗尽了浮华
  • ​LeetCode刷题实战129:求根到叶子节点数字之和

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就...

    程序IT圈
  • CentOS7搭建FastDFS V5.11分布式文件系统-第二篇

    程序员同行者
  • Excel公式练习67: 查找重复的数据集

    本次的练习是:如下图1所示,工作表中有11组数据,每组数据有6个数字,现在要统计多少组相同的数据,怎么使用公式实现?注意,每组中的数据可以是任意顺序。

    fanjy
  • Linux 文件权限的详细介绍

    Linux 的优秀之处就在于它的多用户、多任务的系统。Linux 一般将文件可存取访问的身份分为 3 个类别,分别是 owner、group、others,且 ...

    砸漏
  • 【追光者系列】HikariCP源码分析之字节码修改类库Javassist委托实现动态代理

    很多人都会问HikariCP为什么那么快?之前的两篇文章【追光者系列】HikariCP源码分析之FastList 和 【追光者系列】HikariCP源码分析之C...

    用户1655470
  • MFS-移除已用磁盘

    [root@node1 ~]# vim /etc/mfs/mfshdd.cfg #注释要移除磁盘挂载点

    泽阳

扫码关注云+社区

领取腾讯云代金券