Windows无密码传文件至Linux-pscp

用Cygwin或者GitBash所带的ssh-keygen和scp等命令,可以正常生成key,但是会有权限问题。

经测试总是出现私钥644错误,建议私钥600,.ssh目录700。网上各种用chown修改文件属主,

chmod修改文件权限,可以执行成功,但都没有效果,比如chmod600后,再查看文件属性,仍

然为-rw-r---r--,还是644。总有其它用户可读。不知道如果windows7只有一个用户且Administrator

的情况下是什么样子。当前用户是Administrators组里面的用户,系统中还有一个Administrator,

总之应该是windows不明不白的用户权限管理造成的吧。经爬文,考虑puttygen pscp方案。

通过 pscp实现Windows无密码传文件至Linux

所需工具pscp puttygen

一、生成 key

首先运行puttygen,打开生成key的界面

默认选择ssh2、rsa


点击Generate后,鼠标在进度条下方的空白区域,随机点击或拖动或拖动画圆,生成随机key


完成后,保存public key自己命名后缀为pub以示区别。private key 会自动加后缀ppk以示区别。

二、修改public key为openssh需要的格式

使用cygwin中的vi。这里使用git bash中带的vi。记事本是不行的。sublime2等其它工具未测试过。

将key中的前两行和最后一行删除

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20140320"
---- END SSH2 PUBLIC KEY ----
删除后,在开始位置前加  ssh-rsa(空格)  

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAvS2ic5Ys+EKmr+OtrJJOZTIT9Q9G/8lQInXZ

随后Esc进入命令模式,光标定位到行尾,使用 Shift+J 将两行合并成一行,并删除两行之间的空格。依次操作,将多行并成一行并删除中间的空格。

修改后,类似于


三、将public key拷贝到目标机器,可以用pscp然后输入密码拷贝

pscp pg_rsa_openssh_format.pub usrtologin@destin_ip:/path/to/userfolder

在目标机,将拷贝过来的public key追加到所要登录的用户的.ssh下的authorized_keys

这里测试.ssh 为700权限,authorized_keys为600权限

四、 无密码拷贝文件

pscp -i pg_rsa.ppk files-need-to-copy-on-source-pc usrtologin@destin_ip:/path/to/folder

五、在Source Tree中使用

Source Tree可以说是git的图形界面,可以方便地管理源码,提供两种认证方式访问git服务器openssh和putty对于Source Tree1.4.1.0,在工具选项里选择SSH客户端为Putty/Plink后,在工具里就会有创建或导入SSH密钥,可以打开其自带的打开puttygen。



注意:在Source Tree中使用Putty方式,git链接要使用http协议开头的链接而不要使用git开头的链接。如 http://githup.com/name/project.git

参考:

http://www.walkernews.net/2009/03/22/how-to-fix-server-refused-our-key-error-that-caused-by-putty-generated-rsa-public-key/

http://www.se.cuhk.edu.hk/~hmleung/wordpress/?p=1295

http://stackoverflow.com/questions/2224066/how-to-convert-ssh-keypairs-generated-using-puttygenwindows-into-key-pairs-use

http://www.wellsi.com/sme/ssh/ssh.html

http://linux-sxs.org/networking/openssh.putty.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ppdouble

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值