码迷,mamicode.com
首页 > 其他好文 > 详细

无需密码通过scp命令+key的方式实现文件传输

时间:2016-02-26 11:48:50      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

如果觉得scp每次都要输入密码很麻烦, 那么这是解决方案.
假设你平时在windows上开发,用户名是xiang, 你有一台Ubuntu服务器wdksw.com, 用户名是root.现在你准备上传一些文件到服务器上.
为方便叙述,w表示windows, u表示Ubuntu.w$表示在windows端输入的命令, u$表示在Ubuntu端输入的命令.

  • 首先在w端生成一对key

w$ssh-keygen -t rsa
如果一直按enter,则会在C:\Users\xiang\.ssh文件夹下生成id_rsa和id_rsa.pub两个文件.

  • 其次确保u端的ssh配置允许root用户登录

u$vim /etc/ssh/sshd_config
确保PermitRootLogin为yes.我的服务器默认就是yes.因此无需更改.

  • 将win端的id_rsa.pub上传到服务器的~/keys文件夹

u$mkdir ~/keys

上传文件:
w$scp ~/.ssh/id_rsa.pub root@wdksw.com:~/keys

  • 将上传的key添加到ssh的授权列表

如果.ssh文件夹不存在,创建之.
u$mkdir ~/.ssh
u$cat ~/keys/id_rsa.pub>>~/.ssh/authorized_keys

  • 搞定

win端再尝试使用scp命令, 你会发现无需输入密码.

  •  扩展

接下来,你可以在win端写个Python脚本, 实现一个简易的文件推送功能

比如你想实现一种同步盘的功能,自动同步发生变化的文件

 

无需密码通过scp命令+key的方式实现文件传输

标签:

原文地址:http://www.cnblogs.com/xiangnan/p/5219552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!